使用kubeadm的方式部署v1.21.2版本k8s

使用kubeadm的方式部署v1.21.2版本k8s环境信息:操作系统:CentOS Linux release 7.6.1810 (Core);docker:19.03.5;kubernetes:v1.21.2master01 :192.168.1.230node01 :192.168.1

大家好,欢迎来到IT知识分享网。

环境信息:

操作系统: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

  • 同步所有主机的hosts文件:

cat <<EOF >>/etc/hosts

192.168.1.230 master01

192.168.1.241 node01

192.168.1.242 node02

EOF

  • 关闭 防火墙&selinux&swap

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=

fs.file-max=

fs.nr_open=

net.ipv6.conf.all.disable_ipv6=1

net.netfilter.nf_conntrack_max=

EOF

sysctl -p /etc/sysctl.d/kubernetes.conf

安装kubernetes和docker;安装k8s和docker;所有节点添加k8s和docker的yum源;Yum安装docker,启动docker;yum安装kubeadm,kubelet和kubectl;部署主节点,部署网络插件,工作节点注册到主节点;在每台机器上都需要操作

  • 添加kubernetes的yum源

cat <<EOF >>/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

  • 添加docker的yum源

wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

  • 安装docker

yum -y install docker-ce

  • 启动docker

systemctl enable docker

systemctl start docker

cat <<EOF >>/etc/docker/daemon.json

{

“registry-mirrors”: [“https://dlbpv56y.mirror.aliyuncs.com”]

}

EOF

systemctl restart docker

  • 安装kubeadm,kubelet和kubectl(kubectl可以不必在所有节点上安装)

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

  • 开始使用集群前,需要在主节点上执行(这步是配置kubectl):

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

  • 工作节点需要注册到master

node节点加入集群

使用kubeadm join 注册Node节点到Matser

kubeadm join 的内容,在上面kubeadm init (kubeadm init输出结果的最后写明了) 已经生成好了)

此操作在node节点上进行操作:

kubeadm join 192.168.1.200:6443 –token .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 <none> 39m v1.21.2

node02 Ready <none> 38m v1.21.2

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/87033.html

(0)

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信