kunpengcpfs
安装配置K8s
更新时间:2021/01/21 GMT+08:00
主节点和计算节点都需要安装配置K8s。
安装基础组件
- 启用NET.BRIDGE.BRIDGE-NF-CALL-IPTABLES内核选项。
1
sysctl -w net.bridge.bridge-nf-call-iptables=1
- 禁用交换分区。
1 2 3
swapoff -a cp -p /etc/fstab /etc/fstab.bak$(date '+%Y%m%d%H%M%S') sed -i "s/\/dev\/mapper\/centos-swap/\#\/dev\/mapper\/centos-swap/g" /etc/fstab
- 安装K8s组件。
1
yum install -y kubelet kubeadm kubectl kubernetes-cni
若需指定版本,可在命令中添加版本号,例如:
1
yum install -y kubelet-1.18.0
- 查看安装情况。
1 2 3 4
rpm -qa | grep kubelet rpm -qa | grep kubeadm rpm -qa | grep kubectl rpm -qa | grep kubernetes-cni
- 设置iptables。
1
echo "net.bridge.bridge-nf-call-iptables=1" > /etc/sysctl.d/k8s.conf
- 使能kubelet服务。
1
systemctl enable kubelet
通过Docker下载其他组件

集群内所有节点均需执行以下操作步骤。
- 查看下载节点初始化所需镜像。
1
kubeadm config images list
- 从DockerHub上下载镜像。
1 2 3 4 5 6 7
docker pull docker.io/mirrorgooglecontainers/kube-apiserver-arm64:v1.15.1 docker pull docker.io/mirrorgooglecontainers/kube-controller-manager-arm64:v1.15.1 docker pull docker.io/mirrorgooglecontainers/kube-scheduler-arm64:v1.15.1 docker pull docker.io/mirrorgooglecontainers/kube-proxy-arm64:v1.15.1 docker pull docker.io/mirrorgooglecontainers/pause-arm64:3.1 docker pull docker.io/mirrorgooglecontainers/etcd-arm64:3.3.10 docker pull docker.io/coredns/coredns:1.3.1
执行结果如图2所示。
如果配置了docker镜像库代理,可以直接将标签换为“k8s.gcr.io”并省略步骤3,4,例如:
1
docker pull k8s.gcr.io/kube-apiserver-arm64:v1.15.1
- 修改已下载的镜像标签。
1 2 3 4 5 6 7
docker tag docker.io/mirrorgooglecontainers/kube-apiserver-arm64:v1.15.1 k8s.gcr.io/kube-apiserver:v1.15.1 docker tag docker.io/mirrorgooglecontainers/kube-controller-manager-arm64:v1.15.1 k8s.gcr.io/kube-controller-manager:v1.15.1 docker tag docker.io/mirrorgooglecontainers/kube-scheduler-arm64:v1.15.1 k8s.gcr.io/kube-scheduler:v1.15.1 docker tag docker.io/mirrorgooglecontainers/kube-proxy-arm64:v1.15.1 k8s.gcr.io/kube-proxy:v1.15.1 docker tag docker.io/mirrorgooglecontainers/pause-arm64:3.1 k8s.gcr.io/pause:3.1 docker tag docker.io/mirrorgooglecontainers/etcd-arm64:3.3.10 k8s.gcr.io/etcd:3.3.10 docker tag docker.io/coredns/coredns:1.3.1 k8s.gcr.io/coredns:1.3.1
需要将镜像repository修改与kubeadm列出的镜像名保持一致。
- 查看K8s的Docker镜像组件
1
docker images | grep k8s
- 删除旧镜像。
1 2 3 4 5 6
docker rmi docker.io/mirrorgooglecontainers/kube-apiserver-arm64:v1.15.1 docker rmi docker.io/mirrorgooglecontainers/kube-controller-manager-arm64:v1.15.1 docker rmi docker.io/mirrorgooglecontainers/kube-scheduler-arm64:v1.15.1 docker rmi docker.io/mirrorgooglecontainers/kube-proxy-arm64:v1.15.1 docker rmi docker.io/mirrorgooglecontainers/pause-arm64:3.1 docker rmi docker.io/mirrorgooglecontainers/etcd-arm64:3.3.10
命令执行结果如图3所示。
卸载K8s组件

下列步骤仅仅指导用户如何手动卸载K8s组件,请勿在正常的部署过程中执行。
- 清空K8s集群设置。
1
kubeadm reset
- 卸载管理组件。
1
yum erase -y kubelet kubectl kubeadm kubernetes-cni
- 删除基础组件镜像。
基础组件通过Docker镜像部署,因此只需要强制删除对应镜像即可卸载。
1 2 3 4 5 6 7
docker rmi -f k8s.gcr.io/kube-apiserver:v1.15.1 docker rmi -f k8s.gcr.io/kube-controller-manager:v1.15.1 docker rmi -f k8s.gcr.io/kube-scheduler:v1.15.1 docker rmi -f k8s.gcr.io/kube-proxy:v1.15.1 docker rmi -f k8s.gcr.io/pause:3.1 docker rmi -f k8s.gcr.io/etcd:3.3.10 docker rmi -f k8s.gcr.io/coredns:1.3.1
父主题: 手动部署
