rocky部署k8s
安装前配置
| 角色 | IP地址 | 组件 |
|---|---|---|
| master | 192.168.192.164 | docker,kubectl,kubeadm,kubelet |
| node1 | 192.168.192.165 | docker,kubectl,kubeadm,kubelet |
| node2 | 192.168.192.166 | docker,kubectl,kubeadm,kubelet |
配置服务器/etc/hosts文件
1 | 192.168.192.164 master |
配置时间同步
1 | sudo systemctl enable --now chronyd |
禁用iptable和firewalld服务
1 | sudo systemctl disable --now firewalld |
关闭selinux
1 | sudo setenforce 0 |
关闭swap空间
1 | sudo sed -ri 's/.*swap.*/#&/' /etc/fstab |
转发 IPv4 并让 iptables 看到桥接流量
1 | cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf |
设置所需的 sysctl 参数,参数在重新启动后保持不变
1 | cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf |
应用 sysctl 参数而不重新启动
1 | sudo sysctl --system |
安装docker及containerd容器
移除docker
1 | sudo yum remove docker \ |
安装yum-utils包(提供了yum-config-manager)
1 | sudo yum install -y yum-utils |
添加docker源
1 | sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo |
安装docker引擎、容器和docker组合
1 | sudo yum install -y docker-ce docker-ce-cli containerd.io |
- docker-ce : Docker Community Edition(Docker 社区版)
- docker-ce-cli : Docker 命令行工具
- containerd.io : 管理和运行容器的守护进程。它推送和拉动镜像,管理存储和网络,并监督容器的运行,io 是其开发者 Docker 公司的域名后缀
流程:docker运行命令 –> docker-ce-cli接受解析命令,发送 –> docker-ce后台检测是否拉取,转发 –> containerd.io与内核交互,创建隔离环境
启动docker
1 | sudo systemctl enable --now docker |
添加用户对docker的访问权限
1 | sudo usermod -aG docker $USER |
docker加速配置
1.docker配置镜像加速
1 | sudo mkdir -p /etc/docker |
可用的镜像加速地址
重启服务
1 | sudo systemctl daemon-reload |
2.docker配置代理加速
1 | cat /etc/systemd/system/docker.service.d/http-proxy.conf |
重启服务
1 | sudo systemctl daemon-reload |
安装kubelet、kubeadm、kubectl
配置k8s的yum源
1.配置阿里源
1 | cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo |
2.配置清华源
1 | cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo |
安装 kubelet,kubeadm,kubectl
1 | sudo yum install kubeadm kubectl kubelet |
配置kubelet的cgroup
1 | vim /etc/sysconfig/kubelet |
设置kubelet开机自启
1 | sudo systemctl enable kubelet |
配置containerd默认容器
1 | #1.使用如下命令重置config.toml文件 |
使用kubeadm进行初始化
master节点运行root
创建集群
1 | kubeadm init \ |
--apiserver-advertise-address: 集群通告地址--image-repository: 由于默认拉取镜像地址k8s.gcr.io国内无法访问,这里指定阿里云镜像仓库地址--kubernetes-version: K8s版本,与上面安装的一致--service-cidr: 集群内部虚拟网络,Pod统一访问入口--pod-network-cidr: Pod网络,与下面部署的CNI网络组件yaml中保持一致
创建必要文件root
1 | mkdir -p $HOME/.kube |
添加节点node节点运行
1 | kubeadm join master:6443 --token w3ftmy.wi8mndgd7t6d0ai2 \ |
注:
1 | # 如果忘记或者过期可以使用以下命令重新生成 |
查看节点信息master节点运行
1 | kubectl get nodes |
集群部署Calico网络
安装网络插件master节点运行
1 | wget --no-check-certificate https://projectcalico.docs.tigera.io/archive/v3.25/manifests/calico.yaml |
修改 calico.yaml 文件
1 | vim calico.yaml |
配置网络
1 | kubectl apply -f calico.yaml |




