安装前准备: docker 版本 20.10.17 # 修改driver vim /etc/docker/daemon.json #添加以下信息 { "exec-opts":["native.cgroupdriver=systemd"] }
k8s环境准备
# 关闭防火墙 systemctl disable firewalld systemctl stop firewalld # 关闭selinux # 临时禁用selinux setenforce 0 # 永久关闭 修改/etc/sysconfig/selinux文件设置 sed -i 's/SELINUX=permissive/SELINUX=disabled/' /etc/sysconfig/selinux sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config # 禁用交换分区 swapoff -a # 永久禁用,打开/etc/fstab注释掉swap那一行。 sed -i 's/.*swap.*/#&/' /etc/fstab # 修改内核参数 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
# 执行配置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服务 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
执行一下命令:
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网络插件
wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
打开网络插件kube-flannel.yml文件,修改网络:
net-conf.json: | { "Network": "10.10.0.0/16", # 文件找到这一行,将默认的10.244.0.0/16 修改为10.10.0.0/16 "Backend": { "Type": "vxlan" } }
执行 kubectl apply -f kube-flannel.yml
重启kubelet
systemctl daemon-reload systemctl enable kubelet.service systemctl status kubelet.service
查看控制层所有组件是否正常运行
kubectl get all -A
Master node 参与工作负载
kubectl taint nodes k8s-master node-role.kubernetes.io/master-
添加node节点
1.克隆k8s-node1虚机,作为node节点
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
加入节点
kubeadm join 192.168.0.201:6443 --token 19s3o7.xzel3wisb53r6jsc \ --discovery-token-ca-cert-hash sha256:9adesab71478f04d2sa5c470daef8asa53f9ca4021e5f990388360f02445f495629f3b
从k8s-master节点拷贝证书到k8s-node1文章来源:https://www.toymoban.com/news/detail-859378.html
scp root@k8s-master:/root/.kube/config /root/.kube/
验证测试文章来源地址https://www.toymoban.com/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 ~ ╰─#
到了这里,关于centos7安装k8s集群的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!