使用kubeadm的方式部署v1.21.2版本k8s
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用kubeadm的方式部署v1.21.2版本k8s相关的知识,希望对你有一定的参考价值。
参考技术A 环境信息:操作系统:CentOS Linux release 7.6.1810 (Core);docker:19.03.5;kubernetes:v1.21.2
master01 :192.168.1.230
node01 :192.168.1.241
node02: 192.168.1.242
cat < >/etc/hosts
192.168.1.230 master01
192.168.1.241 node01
192.168.1.242 node02
EOF
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/configswapoff -ased -i '/ swap / s/^(.*)$/#1/g' /etc/fstab
在每台机器上安装依赖包
yum install -y epel-release
yum install -y conntrack ntpdate ntp ipvsadm ipset jq iptables curl sysstat libseccomp wget
在每台机器上执行同步时间:
ntpdate time1.aliyun.com
modprobe ip_vs_rr
modprobe br_netfilter
cat > /etc/sysctl.d/kubernetes.conf << EOF
net.bridge.bridge-nf-call-iptables=1
net.bridge.bridge-nf-call-ip6tables=1
net.ipv4.ip_forward=1
net.ipv4.tcp_tw_recycle=0
vm.swappiness=0 # 禁止使用 swap 空间,只有当系统 OOM 时才允许使用它
vm.overcommit_memory=1 # 不检查物理内存是否够用
vm.panic_on_oom=0 # 开启 OOM
fs.inotify.max_user_instances=8192
fs.inotify.max_user_watches=1048576
fs.file-max=52706963
fs.nr_open=52706963
net.ipv6.conf.all.disable_ipv6=1
net.netfilter.nf_conntrack_max=2310720
EOF
sysctl -p /etc/sysctl.d/kubernetes.conf
安装kubernetes和docker;安装k8s和docker;所有节点添加k8s和docker的yum源;Yum安装docker,启动docker;yum安装kubeadm,kubelet和kubectl;部署主节点,部署网络插件,工作节点注册到主节点;在每台机器上都需要操作
cat < >/etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes repo
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
enabled=1
EOF
wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum -y install docker-ce
systemctl enable docker
systemctl start docker
cat < >/etc/docker/daemon.json
"registry-mirrors": ["https://dlbpv56y.mirror.aliyuncs.com"]
EOF
systemctl restart docker
yum -y install kubelet kubeadm kubectl
systemctl enable kubelet
部署Kubernetes Master
此操作在master节点执行
kubeadm init --apiserver-advertise-address=192.168.1.200 --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.21.2 --service-cidr=10.1.0.0/16 --pod-network-cidr=10.244.0.0/16
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
KUBECONFIG=/etc/kubernetes/admin.conf
node节点加入集群
使用kubeadm join 注册Node节点到Matser
kubeadm join 的内容,在上面kubeadm init (kubeadm init输出结果的最后写明了) 已经生成好了)
此操作在node节点上进行操作:
kubeadm join 192.168.1.200:6443 --token 468683.8nmg23y85gxekguw
> --discovery-token-ca-cert-hash sha256:3b9e1c666c36e36547bbe24f79bf44264ee01071aa84b084db7aff58f38150a3
查看集群的node状态,安装完网络工具之后,只有显示如下状态,所有节点全部都Ready好了之后才能继续后面的操作
[root@master01 ~]# kubectl get nodes
NAME STATUS ROLES AGE VERSION
master01 Ready control-plane,master 43m v1.21.2
node01 Ready 39m v1.21.2
node02 Ready 38m v1.21.2
以上是关于使用kubeadm的方式部署v1.21.2版本k8s的主要内容,如果未能解决你的问题,请参考以下文章
三台ECS使用kubeadm快速部署最新版本K8sv1.21.3
三台ECS使用kubeadm快速部署最新版本K8sv1.21.3