安裝前準(zhǔn)備: docker 版本 20.10.17 # 修改driver vim /etc/docker/daemon.json #添加以下信息 { "exec-opts":["native.cgroupdriver=systemd"] }
k8s環(huán)境準(zhǔn)備
# 關(guān)閉防火墻 systemctl disable firewalld systemctl stop firewalld # 關(guān)閉selinux # 臨時禁用selinux setenforce 0 # 永久關(guān)閉 修改/etc/sysconfig/selinux文件設(shè)置 sed -i 's/SELINUX=permissive/SELINUX=disabled/' /etc/sysconfig/selinux sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config # 禁用交換分區(qū) swapoff -a # 永久禁用,打開/etc/fstab注釋掉swap那一行。 sed -i 's/.*swap.*/#&/' /etc/fstab # 修改內(nèi)核參數(shù) cat <<EOF > /etc/sysctl.d/k8s.conf net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 EOF sysctl --system
安裝kubeadm、kubelet、kubectl
# 執(zhí)行配置k8s阿里云源 cat <<EOF > /etc/yum.repos.d/kubernetes.repo [kubernetes] name=Kubernetes baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/ enabled=1 gpgcheck=1 repo_gpgcheck=0 gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg EOF # 安裝kubeadm、kubectl、kubelet yum install -y kubectl-1.22.6 kubeadm-1.22.6 kubelet-1.22.6 # 啟動kubelet服務(wù) systemctl enable kubelet && systemctl start kubelet
初始化k8s
kubeadm init --image-repository registry.aliyuncs.com/google_containers --kubernetes-version=v1.22.5 --pod-network-cidr=10.10.0.0/16 --service-cidr=10.20.0.0/16 --apiserver-advertise-address=192.168.0.201
初始化成功,獲得一下命令:
mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config Alternatively, if you are the root user, you can run: export KUBECONFIG=/etc/kubernetes/admin.conf You should now deploy a pod network to the cluster. Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at: https://kubernetes.io/docs/concepts/cluster-administration/addons/ Then you can join any number of worker nodes by running the following on each as root: kubeadm join 192.168.0.201:6443 --token 19s3o7.xzel3wisb53r6jsc \ --discovery-token-ca-cert-hash sha256:9adeb711478f04d2521c470d213aef8a53f9ca4021e215f99038832360f02445f495629f3b
執(zhí)行一下命令:
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=/etc/kubernetes/admin.conf
安裝fannel網(wǎng)絡(luò)插件
wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
打開網(wǎng)絡(luò)插件kube-flannel.yml文件,修改網(wǎng)絡(luò):
net-conf.json: | { "Network": "10.10.0.0/16", # 文件找到這一行,將默認(rèn)的10.244.0.0/16 修改為10.10.0.0/16 "Backend": { "Type": "vxlan" } }
執(zhí)行 kubectl apply -f?kube-flannel.yml
重啟kubelet
systemctl daemon-reload systemctl enable kubelet.service systemctl status kubelet.service
查看控制層所有組件是否正常運行
kubectl get all -A
Master node 參與工作負(fù)載
kubectl taint nodes k8s-master node-role.kubernetes.io/master-
添加node節(jié)點
1.克隆k8s-node1虛機,作為node節(jié)點
2.修改克隆的虛機的ip 和 ?hostname
修改ip
vim /etc/sysconfig/network-scripts/ifcfg-ens33 IPADDR=xx.xx.xx.202
修改hostname
vim /etc/hostname k8s-node1
修改hosts
vim /etc/hosts xx.xx.xx.201 k8s-master xx.xx.xx.202 k8s-node1 xx.xx.xx.203 k8s-node2
重啟虛機
reboot
刪除 kubeadm
kubeadm reset ifconfig cni0 down && ip link delete cni0 ifconfig flannel.1 down && ip link delete flannel.1 rm -rf /var/lib/cni/ rm -rf /etc/kubernetes rm -rf /root/.kube/config rm -rf /var/lib/etcd
加入節(jié)點
kubeadm join 192.168.0.201:6443 --token 19s3o7.xzel3wisb53r6jsc \ --discovery-token-ca-cert-hash sha256:9adesab71478f04d2sa5c470daef8asa53f9ca4021e5f990388360f02445f495629f3b
從k8s-master節(jié)點拷貝證書到k8s-node1文章來源:http://www.zghlxwxcb.cn/news/detail-859378.html
scp root@k8s-master:/root/.kube/config /root/.kube/
驗證測試文章來源地址http://www.zghlxwxcb.cn/news/detail-859378.html
╰─# kubectl get nodes NAME STATUS ROLES AGE VERSION k8s-master Ready control-plane,master 94m v1.22.6 k8s-node1 Ready <none> 3m54s v1.22.6 ╭─root@k8s-node1 ~ ╰─#
到了這里,關(guān)于centos7安裝k8s集群的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!