k8s单节点安装sitewhere 2.1

k8s配置部分参照
kubeadm安装Kubernetes 1.15(可单个节点k8s)

1、自己生成镜像或者从官方拉镜像

自己生成镜像的话参照, https://blog.youkuaiyun.com/tidehc/article/details/82881387
其中2、3、5步忽略就行。那些是Docker Compose安装用的
从官方拉最新镜像的话这一步忽略就行。

2、非安全模式安装Helm&Tiller:

需要安装Helm,Helm之于Kubernetes,好比yum于CentOS,便捷的包管理工具。
参考 https://docs.helm.sh/using_helm/#installing-helm
Helm使用指南参见https://docs.helm.sh/using_helm/#using_helm

(1)、安装Helm并创建ServiceAccount:

采用二进制包方式安装(snap方式据说大陆地区非常慢),参考https://github.com/helm/helm/releases

cd  /tmp

wget https://get.helm.sh/helm-v2.14.2-linux-amd64.tar.gz
tar -zxvf  helm-v2.14.2-linux-amd64.tar.gz 
mv linux-amd64/helm /usr/local/bin/helm
helm version

这里应该会提示一个Error: could not find tiller。
注意,默认情况下只需要执行 helm init 就可以完成tiller部署,而且看上去很正常,但是无法执行 helm install 。因为helm需要访问k8s的API,而我们的集群启用了RBAC,要让helm正常工作,我们需要为其配置好相关权限。

vim helm-rbac.yaml
---
apiVersion: v1
kind: ServiceAccount
metadata:
  labels:
    k8s-app: helm
  name: helm-admin
  namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: helm-admin
  labels:
    k8s-app: helm
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
  - kind: ServiceAccount
    name: helm-admin
    namespace: kube-system
-----------------------------------------------------------------------------
kubectl create -f helm-rbac.yaml
kubectl get sa --all-namespaces | grep helm

(2)安装Tiller

一般在镜像下载方面容易出问题:参考https://blog.youkuaiyun.com/weiguang1017/article/details/78045013
helm init在缺省配置下, Helm 会利用 “gcr.io/kubernetes-helm/tiller” 镜像在Kubernetes集群上安装配置 Tiller;并且利用 “https://kubernetes-charts.storage.googleapis.com” 作为缺省的 stable repository 的地址。由于在国内可能无法访问 “gcr.io”, “storage.googleapis.com” 等域名,阿里云容器服务为此提供了镜像站点。
使用下列命令安装:

helm init --upgrade --service-account helm-admin --upgrade  -i registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:v2.14.2 --stable-repo-url https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
helm init --service-account helm-admin 

【默认的初始化执行方式】
然后helm version可以同时看到helm 和 tiller的版本号;
如果不是第一次则执行:

helm init --upgrade --service-account helm-admin  

上述执行时候的版本如果过旧,可以考虑执行更新;
首先查找新的镜像版本,放到私有仓库里去,

docker pull sapcc/tiller:v2.14.2
docker tag sapcc/tiller:v2.14.2 192.168.1.10:5000/sapcc/tiller:v2.14.2
docker push 192.168.1.10:5000/sapcc/tiller:v2.14.2

执行升级:

helm init --upgrade --service-account helm-admin  --tiller-image  192.168.1.10:5000/sapcc/tiller:v2.14.2 

(3)、安装后测试:

kubectl get svc --all-namespaces
helm version 应当能看见helm和tiller的版本号;
helm 
helm search 

如需清除Tiller等:
删除Tiller:
helm reset 或 $helm reset -f(强制删除k8s集群上的pod.)
当要移除helm init创建的目录等数据时,执行

helm reset --remove-helm-home

注:安全模式配置Helm【参考,并未做】:
https://docs.helm.sh/using_helm/#securing-your-helm-installation
https://docs.helm.sh/using_helm/#role-based-access-control

3、准备持久化存储rook

### CentOS 10 Kubernetes 单节点安装部署指南 #### 准备工作 在开始之前,确保目标服务器满足以下条件: - 操作系统为 CentOS 10 或兼容版本。 - 已关闭防火墙或开放必要的端口。 - SELinux 设置为 `permissive` 模式。 可以通过以下命令设置 SELinux 和禁用交换分区: ```bash setenforce 0 sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config swapoff -a && sysctl -w vm.swappiness=0 ``` #### 安装 Docker 或 Containerd Kubernetes 需要容器运行时支持,默认推荐使用 Docker 或 Containerd。以下是基于 Docker 的安装方法: 更新系统并安装必要工具: ```bash yum update -y yum install -y yum-utils device-mapper-persistent-data lvm2 ``` 添加 Docker 软件源并安装: ```bash yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo yum install -y docker-ce docker-ce-cli containerd.io systemctl start docker systemctl enable docker ``` #### 安装 kubeadm, kubelet 和 kubectl 配置 Kubernetes Yum 软件源: ```bash cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo [kubernetes] name=Kubernetes baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-\$basearch enabled=1 gpgcheck=1 repo_gpgcheck=1 gpgkey=https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg exclude=kube* EOF ``` 安装指定版本的 Kubernetes 组件(此处以 1.28.2 版本为例)[^2]: ```bash yum install -y kubelet-1.28.2 kubeadm-1.28.2 kubectl-1.28.2 systemctl start kubelet systemctl enable kubelet ``` #### 初始化 Kubernetes 集群 创建自定义的 `kubeadm-config.yaml` 文件来初始化集群[^3]。假设 IP 地址为 `192.168.123.120`,可以参考如下模板: ```yaml apiVersion: kubeadm.k8s.io/v1beta2 kind: ClusterConfiguration kubernetesVersion: v1.28.2 controlPlaneEndpoint: "192.168.123.120:6443" imageRepository: registry.aliyuncs.com/google_containers networking: podSubnet: 172.16.0.0/16 serviceSubnet: 172.10.0.0/16 --- apiVersion: kubeproxy.config.k8s.io/v1alpha1 kind: KubeProxyConfiguration mode: ipvs ``` 执行初始化命令: ```bash kubeadm init --config=kubeadm-config.yaml ``` 完成初始化后,将管理员配置文件复制到当前用户目录下[^4]: ```bash mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config export KUBECONFIG=$HOME/.kube/config ``` #### 安装网络插件 (Flannel) 为了使 Pod 之间能够相互通信,需安装 CNI 网络插件 Flannel[^4]: ```bash kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml ``` 验证网络状态: ```bash kubectl get pods --all-namespaces ``` #### 移除 Master 节点污点 默认情况下,Master 节点会被标记为不可调度 Pods。移除该污点以便允许在此节点上运行应用[^3]: ```bash kubectl taint nodes --all node-role.kubernetes.io/control-plane- ``` --- ### 注意事项 如果遇到任何问题,可通过以下方式排查错误日志: ```bash journalctl -u kubelet ``` 此外,在实际生产环境中建议启用高可用模式,并定期备份重要数据。 ---
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值