目录
最简单的K8S安装实践,下面废话不多说,直接图文并茂演示:
1.准备好正常可联网的机器
这里我准备4台机子,两个master节点,两个node节点(后面可以动态增减),如图所示:
2.做机器层面的基本配置
一共配置3个地方:1)主机名称 2)hosts 3)修改网卡地址
1)修改主机名称: vi /etc/hostname
分别修改4台机器的名称为 k8s-master1、k8s-master2、k8s-node1、k8s-node2
命令示例:echo "" > /etc/hostname && echo "k8s-master" > /etc/hostname
2)修改hosts:vi /etc/hosts
分别修改4台机器的hosts中名称与hostname名称保持一致
如下图所示:
3)修改网卡地址:vi /etc/sysconfig/network-scripts/ifcfg-ens33
如下图所示:
3.同步所有机器的时间及配置机器间免登
1)每台机器执行:
yum -y install ntpdate
ntpdate 0.cn.pool.ntp.org
2)每台机器的hosts中追加:vi /etc/hosts
192.168.10.141 k8s-master1
192.168.10.142 k8s-master2
192.168.10.143 k8s-node1
192.168.10.144 k8s-node2
3)每台机器生成公私钥:ssh-keygen -t rsa
将每台机器生成的公钥拷贝至其他机器:
ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.10.141
ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.10.142
ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.10.143
ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.10.144
4.使用sealos丝滑安装K8S
1)在一台master节点上安装sealos:
wget -c https://sealyun.oss-cn-beijing.aliyuncs.com/latest/sealos && chmod +x sealos && mv sealos /usr/bin
2)下载k8s安装包:
wget -c https://sealyun.oss-cn-beijing.aliyuncs.com/d551b0b9e67e0416d0f9dce870a16665-1.18.0/kube1.18.0.tar.gz
3)使用sealos初始化k8s:
sealos init --passwd root --master 192.168.10.141 --master 192.168.10.142 --node 192.168.10.143 --node 192.168.10.144 --pkg-url /root/kube1.18.0.tar.gz --version v1.18.0
注意:如果机器越多,那么该命令耗时也会越多,等一段时间后看到如下图示则表示k8s环境搭建成功
4)安装k8s命令补全工具:
yum install -y bash-completion
source /usr/share/bash-completion/bash_completion
source <(kubectl completion bash)
echo "source <(kubectl completion bash)" >> ~/.bashrc
5.sealos相关命令
1)增加master节点:
sealos join --master 192.168.10.145 --master 192.168.10.147
sealos join --master 192.168.10.150-192.168.10.155 # 或者多个连续IP
2)删除master节点:
sealos clean --master 192.168.10.145 --master 192.168.10.147
sealos clean --master 192.168.10.150-192.168.10.155 # 或者多个连续IP
3)增加node节点:
sealos join --node 192.168.10.145 --node 192.168.10.147
sealos join --node 192.168.10.150-192.168.10.155 # 或者多个连续IP
4)删除node节点:
sealos clean --node 192.168.10.145 --node 192.168.10.147
sealos clean --node 192.168.10.150-192.168.10.155 # 或者多个连续IP
5)清理集群:
sealos clean --all
6)备份集群:
sealos etcd save
6.使用kubectl命令动态扩缩容
1)示例:kubectl scale --replicas=4 -f redis.yaml
2)示例:kubectl scale deployment.apps/redis --replicas=3