cmcc-部署(1)—k8s

一、准备环境

注意:服务器不要apt update及apt upgrade ,服务器不要apt update及apt upgrade ,服务器不要apt update及apt upgrade !

服务器系统要求:ubuntu18.04(qly-soft/cmcc/ubuntu18.04)

=============== 业务服务部署集群 ===============
#k8s1节点
hostnamectl set-hostname k8s1.aolingo.com

#k8s2节点
hostnamectl set-hostname k8s2.aolingo.com

#k8s3节点
hostnamectl set-hostname k8s3.aolingo.com

=============== 算力设备纳管集群 ===============
#edge1节点
hostnamectl set-hostname edge1.aolingo.com

#edge2节点
hostnamectl set-hostname edge2.aolingo.com

二、安装应用K8S集群(业务集群)

1、安装k8s集群

用于部署平台需要的一些java项目,为app及前端提供业务服务。

tar zxvf iEKS_V2312_Ubuntu.tar.gz 
cd ieks_ubuntu/
vim config.yaml 

修改内容如下:

#创建k8s集群
./kk-cli -f config.yaml create cluster

#卸载集群
./kk-cli -f config.yaml delete cluster

#验证集群
kubectl get nodes
kubectl get pods -A

2、安装karmada等组件

tar zxvf ieks-gauss-min.tar.gz
cd ieks-gauss-min/
vim config-gauss.yaml

修改内容如下:

安装监控、eksm及karmada等组件

./gauss-cli deploy addons

查看所有的pod,看看karmada的pod是否存在,如果存在则说明安装成功

三、安装kubeedge集群(设备纳管集群)

1、安装纳管k8s集群

tar zxvf iEKS_V2312_Ubuntu.tar.gz
cd ieks_ubuntu
vim config.yaml

修改内容如下:

./kk-cli -f config.yaml create cluster

2、为纳管k8s集群安装一些组件

tar zxvf ieks-gauss-min.tar.gz
cd ieks-gauss-min/
vim config-gauss.yaml

修改内容如下:

注意,我们计划用业务k8s集群安装的karmada管理设备纳管集群,因此在纳管集群中一定不要安装karmada组件了。

./gauss-cli deploy addons

四、实现业务karmada管理设备纳管k8s集群

1、查找karmada-apiserver所在的节点

在安装业务集群的过程中,我们也安装了karmada来管理k8s集群。但是karmada的集群安装中,karmada-apiserver服务pod不一定落在k8s的主节点上,而我们后续添加纳管集群到karmada上的时候,必须在karmada-apiserver服务所在的k8s节点上运行才可以。

kubectl get pod -A -o wide

从上图可以看到karmada-apiserver服务所在的节点是k8s2,那么我们需要将业务集群的admin.yaml及纳管集群的admin.conf都拷贝到这个节点,以便将纳管集群添加到当前的karmada中。

2、拷贝纳管集群的admin.conf文件到业务集群的k8s2节点上

ssh k8s2
mkdir /opt/edge/
scp root@edge1:/etc/kubernetes/admin.conf /opt/edge/

编辑admin.conf,将配置中的server变更为纳管集群节点中的任一主节点的ip地址即可。

3、拷贝karmada的apiserver配置到业务集群的k8s2节点上

ssh k8s2
cd /opt/edge/
# 虽然karmada-apiserver服务落在k8s2上,但是karmada-apiserver.config配置文件却在k8s集群的主节点k8s1上
scp k8s1:/etc/karmada/karmada-apiserver.config ./

编辑karmada-apiserver.config,将server的地址配置成127.0.0.1(karmada-apiserver服务所在的节点,即k8s2上)

执行下面命令,将设备纳管的k8s集群添加到karmada中进行统一管理

ssh k8s2
cd /opt/edge
#加入集群  edge-cluster的名称是业务集在karmada中的集群名称
kubectl karmada join edge-cluster   --cluster-context kubernetes-admin@cluster.local   --kubeconfig=karmada-apiserver.config   --cluster-kubeconfig=admin.conf


#删除集群
kubectl --kubeconfig=karmada-apiserver.config delete cluster cluster1

4、验证karmada

安装karmada工具

ssh k8s2
cd /opt/edge

karmadactl get pods -A
或
#适用指定apiserver的配置文件的情况
karmadactl get pods -A --kubeconfig=/opt/edge/karmada-apiserver.config
或
kubectl karmada get pods -A --kubeconfig=/opt/edge/karmada-apiserver.config