环境准备:
关闭防火墙,关闭swap
如果之前有安装k8s执行以下命令
sudo kubeadm reset -f sudo rm -rvf $HOME/.kube sudo rm -rvf ~/.kube/ sudo rm -rvf /etc/kubernetes/ sudo rm -rvf /etc/systemd/system/kubelet.service.d sudo rm -rvf /etc/systemd/system/kubelet.service sudo rm -rvf /usr/bin/kube* sudo rm -rvf /etc/cni sudo rm -rvf /opt/cni sudo rm -rvf /var/lib/etcd sudo rm -rvf /var/etcd sudo apt-get remove kube*
如果还有残留
yum remove kubelet-1.14.0 kubeadm-版本号 kubectl-版本号
设置
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/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg exclude=kubelet kubeadm kubectl EOF
# 将 SELinux 设置为 permissive 模式(相当于将其禁用) setenforce 0 sed -i ‘s/^SELINUX=enforcing$/SELINUX=permissive/‘ /etc/selinux/config
安装
yum install -y kubelet-1.19.6 kubeadm-1.19.6 kubectl-1.19.6 --disableexcludes=kubernetes
systemctl enable --now kubelet
初始化
#master1 节点执行
kubeadm init --apiserver-advertise-address=10.90.12.134 --image-repository 镜像源 --kubernetes-version v1.19.6 --pod-network-cidr=10.244.0.0/16 --control-plane-endpoint=10.90.12.134:6443 --upload-certs
初始化之后获取
其他master节点加入:
kubeadm join 10.90.12.134:6443 --token awisze.sor7huusn4w5hcy0 --discovery-token-ca-cert-hash sha256:5d97fc35f8c4bde44ae83c7877b4e405178510762e4bd8f9d43dd1b8205e47fd --control-plane --certificate-key 2e6ab32bcbdb852fa99dff783225e4f5308aa36a11ca0836a3f50140b95f726b Please note that the certificate-key gives access to cluster sensitive data, keep it secret! As a safeguard, uploaded-certs will be deleted in two hours; If necessary, you can use "kubeadm init phase upload-certs --upload-certs" to reload certs afterward. worker nodes 加入命令 kubeadm join 10.90.12.134:6443 --token awisze.sor7huusn4w5hcy0 --discovery-token-ca-cert-hash sha256:5d97fc35f8c4bde44ae83c7877b4e405178510762e4bd8f9d43dd1b8205e47fd
master kubectl 配置
rm -rf $HOME/.kube mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config
flannel插件部署
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
cni0 被占用
sudo ifconfig cni0 down
sudo ip link delete cni0
原文:https://www.cnblogs.com/7215217758991l/p/14557461.html