容器云部署
一.前期准备
1.准备虚拟机
使用Centos_7.9.2009镜像创建两台虚拟机,配置好网络IP,关闭防火墙,将chinaskills_cloud_paas_v2.0.2.iso镜像上传至root目录下,将root密码设置为000000
节点IP | 角色 | 备注 |
---|---|---|
192.168.200.10 | Master | Kubernetes 集群 master 节点、Harbor 仓库节点 |
192.168.200.20 | Worker | Kubernetes 集群 node 节点 |
2.基础环境准备
将上传在root目录的安装包(chinaskills_cloud_paas_v2.0.2.iso
)中的文件提取到/opt目录
mount /root/chinaskills_cloud_paas_v2.0.2.iso /mnt/
cp -rf /mnt/* /opt
umount /root/chinaskills_cloud_paas_v2.0.2.iso
3.安装kubeeasy
kubeeasy 为 Kubernetes 集群专业部署工具,极大的简化了部署流程。
mv /opt/kubeeasy /usr/bin/kubeeasy
4.安装依赖包
此步骤主要完成 docker-ce、git、unzip、vim、wget 等工具的安装。
可通过命令 tail -f /var/log/kubeinstall.log
查看安装详情或排查错误
kubeeasy install depend \
--host 192.168.200.10,192.168.200.20 \ # 所有主机节点 IP
--user root \ # 主机登录用户,默认为root
--password 000000 \ # 主机登录密码,所有节点需保持密码一致
--offline-file /opt/dependencies/base-rpms.tar.gz # 离线安装包路径
5.配置SSH免密
(1) 在master节点,检测集群节点连通性
kubeeasy check ssh \
--host 192.168.200.10,192.168.200.20 \
--user root \
--password 000000
(2)在master节点,完成所有节点间的免密
kubeeasy create ssh-keygen \
--master 192.168.200.10 \ # master节点
--worker 192.168.200.20 \ # 所有worker节点
--user root
--password 000000
二.部署Kubernetes 集群(K8s)
1.Kubernetes 集群
(1) 本次安装的 Kubernetes 版本为 v1.22.1,在 master 节点执行以下命令部署 Kubernetes 集群
kubeeasy install kubernetes \
--master 192.168.200.10 \
--worker 192.168.200.20 \
--user root \
--password 000000 \
--version 1.22.1 \ # Kubernetes 版本,此处只能为 1.22.1
--offline-file /opt/kubernetes.tar.gz
(2) 部署完成后查看集群状态 :kubectl cluster-info
Kubernetes control plane is running at https://apiserver.cluster.local:6443
CoreDNS is running at
https://apiserver.cluster.local:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy To further debug and diagnose cluster problems,
use 'kubectl cluster-info dump'.
# 若在node节点无法查看,需要将master节点的.kube发放到node节点
(3) 查看节点负载情况:kubectl top nodes --use-protocol-buffers
NAME CPU(cores) CPU% MEMORY(bytes) MEMORY%
k8s-master-node1 389m 4% 6926Mi 43%
k8s-worker-node1 875m 10% 3365Mi 21%
(4) 登录一道云云开发平台
在浏览器访问http://master_IP:30080, 设置admin用户密码为(00000000),并登录平台
三.部署 KubeVirt 集群
在 master 节点执行以下命令安装 KubeVirt:
kubeeasy add --virt kubevirt
查看 Pod:
kubectl -n kubevirt get pods
四.部署 Istio
在 master 节点执行以下命令安装 istio:
kubeeasy add --istio istio
查看Pod
kubectl -n istio-system get pods
查看 Istio 版本信息:
istioctl version
# 结果如下
client version: 1.12.0
control plane version: 1.12.0
data plane version: 1.12.0 (2 proxies)
相关的可视化界面
Grafans http://master_ip:33000
Prometheus http://master_ip:30090
Jaeger http://master_ip:30686
kiali http://master_ip:200001
五.部署Harbor仓库
kubeeasy add --registry harbor
部署完成后查看 Harbor 仓库状态
systemctl status harbor
在浏览器通过http://master_ip 访问harbor 管理员账户(admin/Harbor12345)
到此,搭建完成
六.基础运维
1.重置集群
若集群部署失败或出现故障,可重置集群重新部署,重置命令如下:
kubeeasy reset #重置完成后,从安装依赖重新开始
2.添加节点
(1)在 master 节点执行以下命令,给新节点安装依赖包:
kubeeasy install depend \
--host 10.24.2.12 \ # 10.24.2.12 为新增节点的 IP 地址
--user root \
--password 000000 \
--offline-file /opt/dependencies/base-rpms.tar.gz
(2)在 master 节点执行以下命令,将新节点加入集群:
kubeeasy add \
--worker 10.24.2.12\ # 10.24.2.12 为新增节点的 IP 地址
--user root \
--password 000000 \
--offline-file /opt/kubernetes.tar.gz