二,按照搭建手册准备节点的前置条件
ubantu20.10 搭建部署k8s v1.20.0集群步骤
sudo apt install -y nfs-common cifs-utils
三,添加新节点到集群
1,生成token
kubeadm token list #token如果没有就是过期了 要重新生成
kubeadm token create
2,获取ca
openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed 's/^.* //'
3,添加集群,需要加入的节点上执行
kubeadm join 192.168.0.153:6443 --token ajbh7x.sqm1fgfkqt9etn5l --discovery-token-ca-cert-hash sha256:fbabd74517e39c7103a484483315f50b055b06dc48922b71d2371312849a20d7
删除节点
1,卸载节点(drain 翻译排出,此时卸载节点,但是没有删除)
kubectl drain <node name>--delete-local-data --force --ignore-daemonsets
2,删除节点
kubectl delete node <node name>
3,清空init配置,需要删除的节点上执行
kubeadm reset
4C4G机器设置为k8smaster节点,另外一台机器设置为k8snode节点
分别进入两台的 /ect/hosts 目录,设置r如下host
由于k8s内部节点之间的通讯使用的是内网ip,我们需要把内网ip的重定向到公网ip上
由于两台机器是处于公网环境,且k8s节点之间需要通讯,所以需要开放一些端口,端口配置可以直接进到腾讯云控制台进行配置
以下是官网要求的master节点的端口配置
可以进入腾讯云服务器的防火墙配置开放相应端口,端口可以限定来源,只允许node节点(192.168.2.2)访问
以下是官网要求的node节点的端口配置
同理,也设置node节点的端口
master节点需要安装
node节点需要安装
添加安装源(所有节点)
安装命令
设置开机启动
修改docker配置(所有节点)
组件安装完成后就可以启动了,首先启动master节点,然后让node节点加入master几点即可。
在master节点使用kubeadm初始化集群
这里需要保存token,token是用于node节点加入maste节点的凭证
node节点加入master节点
安装网络插件,否则node是NotReady状态(主节点跑)
kubectl get nodes
系统:CentOS 7.6 64位1、更新升级内核
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
yum --enablerepo=elrepo-kernel install -y kernel-lt
grub2-set-default 0
服务器重启:shutdown -r now
查看内核版本:uname -a
Linux VM-0-214-centos 5.4.159-1.el7.elrepo.x86_64 #1 SMP Wed Nov 10 17:42:30 EST 2021 x86_64 x86_64 x86_64 GNU/Linux
2、k8seasy安装包准备
wget http://dl.k8seasy.com/installer
wget http://dl.k8seasy.com/installer.1.21
wget http://dl.k8seasy.com/kubernetes-server-linux-amd64.tar.gz
wget http://dl.k8seasy.com/pack.2020.10.02.bin
sudo ./installer --genkey -hostlist=172.17.0.214
sudo ./installer -kubernetestarfile kubernetes-server-linux-amd64.tar.gz -masterip 172.17.0.214
sudo ./installer --genkey -hostlist=172.16.16.9
sudo ./installer -kubernetestarfile kubernetes-server-linux-amd64.tar.gz -masterip 172.16.16.9 --skipDocker=1
scp ./k8skey.pem root@172.16.16.14:k8skey.pem
sudo ./installer -kubernetestarfile kubernetes-server-linux-amd64.tar.gz -masterip 172.16.16.9 --dashboardOnly=1
sudo ./installer -kubernetestarfile kubernetes-server-linux-amd64.tar.gz -masterip 172.16.16.9
创建集群,在172.16.16.8,172.16.16.12,172.16.16.4上安装k8s集群,这3个节点并不作为工作节点
sudo ./installer --genkey -hostlist=172.16.16.0
scp ./k8skey.pem root@172.16.16.12:k8skey.pem
scp ./k8skey.pem root@172.16.16.4:k8skey.pem
sudo ./installer -prepare
sudo ./installer -kubernetestarfile kubernetes-server-linux-amd64.tar.gz -masterip 172.16.16.8,172.16.16.12,172.16.16.4 --skipDocker=1
将密钥复制到其他节点
scp ./k8skey.pem root@172.16.16.6:k8skey.pem
将机器加入集群,只有第一台工作节点 需要加入时加上 --dashboardOnly=1 参数,
sudo ./installer -kubernetestarfile kubernetes-server-linux-amd64.tar.gz -masterip 172.16.16.8,172.16.16.12,172.16.16.4 --dashboardOnly=1
后面的节点 可以使用
sudo ./installer -kubernetestarfile kubernetes-server-linux-amd64.tar.gz -masterip 172.16.16.8,172.16.16.12,172.16.16.4
/etc/k8s/etcd/etcdctl --endpoint=https://172.16.16.4:2379 --ca-file=/etc/k8s/cert/ca.pem --cert-file=/etc/k8s/etcd/cert/etcd.pem --key-file=/etc/k8s/etcd/cert/etcd-key.pem member list
/etc/k8s/etcd/etcdctl --endpoint=https://172.16.16.4:2379 --ca-file=/etc/k8s/cert/ca.pem --cert-file=/etc/k8s/etcd/cert/etcd.pem --key-file=/etc/k8s/etcd/cert/etcd-key.pem cluster-health
/etc/k8s/etcd/etcdctl --endpoint=https://172.16.16.4:2379 --ca-file=/etc/k8s/cert/ca.pem --cert-file=/etc/k8s/etcd/cert/etcd.pem --key-file=/etc/k8s/etcd/cert/etcd-key.pem ls /kubernetes/network/subnets
/etc/k8s/etcd/etcdctl --endpoint=https://172.16.16.4:2379 --ca-file=/etc/k8s/cert/ca.pem --cert-file=/etc/k8s/etcd/cert/etcd.pem --key-file=/etc/k8s/etcd/cert/etcd-key.pem get /kubernetes/network/config
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)