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

修改内容如下:

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

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

修改内容如下:

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

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

1、将纳管集群主节点(两个节点中的任意一下)的admin.yaml文件拷贝到业务集群主节点的某个目录下

#edge1
scp /etc/kubernetes/admin.conf root@192.168.3.231:/opt/edge/

编辑/opt/edge/admin.conf,修改内容如下,这个192.168.3.221是edge集群的两个主节点中的edge1节点的ip地址(可以用任何一台主节点的ip地址)

2、修改karmada的apiserver配置(业务集群)

在业务集群主节点上,修改karmada-apiserver.config配置文件

#先备份
cp /etc/karmada/karmada-apiserver.config /etc/karmada/karmada-apiserver.config.bak

vim /etc/karmada/karmada-apiserver.config

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

#加入集群
kubectl karmada join cluster1   --cluster-context kubernetes-admin@cluster.local   --kubeconfig=/etc/karmada/karmada-apiserver.config   --cluster-kubeconfig=admin.conf


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

3、验证karmada

安装karmada工具

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