K8S部署攻略
此教程以一主二从为例,需要三台服务器。
主机最低需求:4 核 CPU,4 GB 内存,硬盘:20 GBx2 (需保留一个未分区的磁盘)
从机最低需求:4 核 CPU,8 GB 内存,硬盘:20 GBx2 (需保留一个未分区的磁盘)
软件版本:
Ubuntu:22.04
Kubesphere:3.4.1
Docker:20.10.24
K8s:1.23.17
Rook:1.13.6
前置要求:
集群中的所有机器的网络彼此均能相互连接(公网和内网都可以)。
节点之中不可以有重复的主机名、MAC 地址或 product_uuid。
1.配置Cgroup驱动
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json
2. 配置docker存储库,安装docker-ce
sudo apt-get update
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
sudo curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
sudo apt-get -y update
sudo apt-get -y install docker-ce=5:20.10.24~3-0~ubuntu-jammy
sudo systemctl enable docker && sudo systemctl start docker
3.关闭交换分区
sudo swapoff -a
sudo vi /etc/fstab
注释掉swap行并保存
4.允许 iptables 检查桥接流量
sudo modprobe br_netfilter
cat
5.安装 kubeadm、kubelet 和 kubectl
sudo apt-get update && sudo apt-get install -y apt-transport-https
sudo curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add -
sudo tee /etc/apt/sources.list.d/kubernetes.list
6.初始化控制平面节点(仅主节点执行)
sudo kubeadm init
--image-repository registry.cn-hangzhou.aliyuncs.com/google_containers
--kubernetes-version v1.23.17
--pod-network-cidr=10.244.0.0/16
出现如下信息表示初始化成功,将token(图中最后两行)复制保存,后面会用到,token有效期为24小时
执行命令:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.k服务器托管网ube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
7.安装 Pod 网络附加组件(仅主节点执行,方式二选一)
方式一: 下载文件:https://files.cnblogs.com/files/blogs/785788/kube-flannel.zip?t=1710498095&download=true 解压上传kube-flannel.yml文件至主节点用户根目录下,执行:
|
方式二:
|
执行命令查看安装是否完成
watch kubectl get pod -n kube-system -o wide
输出中检查 CoreDNS Pod 的STATUS直到变成Running 表示完成(需要几分钟)
8.配置hosts
sudo vi /etc/hosts
配置示例:
192.168.1.100 k8s1
192.168.1.101 k8s2
192.168.1.102 k8s3
9.从节点加入主节点
在从节点执行步骤六保存的token,注意非root用户前面加上sudo
sudo kubeadm join 192.168.1.100:6443 --token ****
--discovery-token-ca-cert-hash sha256:****
成功输出:
失败可以尝试以下两种方法:
重置 kubeadm(在从节点执行):
|
关闭防火墙(主从都执行):
|
完毕后,执行kubectl get nodes查看,等待所有节点状态变成Ready(需要几分钟)
10.删除污点(仅主节点执行)
kubectl taint nodes node-role.kubernetes.io/master:NoSchedule-
11.安装Rook-CephFS(仅主节点执行,方式二选一)
方式一: 下载文件:https://files.cnblogs.com/files/blogs/785788/rook-1.13.6.zip?t=1710498602&download=true 解压后把rook整个文件夹,上传到主节点用户根目录。 |
方式二:
|
执行命令:
kubectl create -f rook/deploy/examples/crds.yaml
-f rook/deploy/examples/common.yaml
-f rook/deploy/examples/operator.yaml
kubectl create -f rook/deploy/examples/cluster.yaml
待安装完成(需要十分钟左右),使用 kubectl get pods -n rook-ceph -w 来确认安装进度,
需创建csi-cephfsplugin、csi-rbdplugin-provisioner、等,约十几个pod,且除 rook-ceph-osd-prepare-*** 以外,其他都要为Running
12.创建默认StorageClass,恢复污点(仅主节点执行)
kubectl create -f rook/deploy/examples/filesystem.yaml
kubectl create -f rook/deploy/examples/csi/cephfs/storageclass.yaml
Kubectl patch storageclass rook-cephfs -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'
kubectl taint nodes node-role.kubernetes.io=master:NoSch服务器托管网edule
使用:kubectl get sc确认是否成功。
13.安装KubeSphere(仅主节点执行)
kubectl apply -f https://github.com/kubesphere/ks-installer/releases/download/v3.4.1/kubesphere-installer.yaml
kubectl apply -f https://github.com/kubesphere/ks-installer/releases/download/v3.4.1/cluster-configuration.yaml
查看安装进度:
kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l 'app in (ks-install, ks-installer)' -o jsonpath='{.items[0].metadata.name}') -f
成功输出:
完结撒花!
附件:k8s部署攻略.doc
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net
相关推荐: 保姆级:Windows Server 2012上安装.NET Framework 3.5
我是默,一个在CSDN分享笔记的博主。 在这里,我要推荐给大家我的专栏《Windows》。 无论你是编程小白,还是有一定基础的程序员,这个专栏都能满足你的需求。我会用最简单易懂的语言,带你走进代码的世界,让你从零开始,一步步成为编程大师。 让我们在代码的…