使用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

基于Cri-dockerd使用Kubeadm部署Kubernetes1.25集群

使用kubeadm部署k8s_无坑适用版本

4.使用kubeadm方式搭建K8S集群

centos7 kubeadm部署单机k8s