在阿里云 ECS 上安装 DCE 5.0 商业版¶
本文将介绍如何阿里云 ECS 上安装 DCE 5.0。
前提条件¶
- 准备好阿里云 ECS 虚拟机,本示例创建 3 台 ubuntu22.10 server 64bit 的云服务器,每台配置为 8 核 16 GB
 - 请按照准备工作完成相关准备
 
开始部署¶
在阿里云 ECS 部署 DCE 5.0 时主要是负载均衡的能力需要特殊处理,由于虚拟机中不会安装 CloudProvider,LoadBalancer类型的 svc 无法被识别,所以要么是手动安装相关 CloudProvider,要么使用用 NodePort 的方式,所以目前提供了以下三种方案:
- 方案 1:NodePort + 阿里云 SLB
 - 方案 2:cloudLB + 部署 CCM 组件
 - 方案 3:NodePort + 部署 CCM 组件
 
方案 1 :NodePort + 阿里云 SLB¶
-  
登录一台机器,下载 dce5-installer 二进制文件。
假定 VERSION 为 v0.18.0
 -  
配置集群配置文件
clusterConfig.yaml。参考以下配置,注意设置
loadBalancer.type = NodePort,并填写主机的私网 IP 地址:clusterConfig.yamlapiVersion: provision.daocloud.io/v1alpha3 kind: ClusterConfig spec: loadBalancer: type: NodePort masterNodes: - nodeName: "g-master1" ip: xx.xx.xx.xx ansibleUser: "root" ansiblePass: "dangerous" - nodeName: "g-master2" ip: xx.xx.xx.xx ansibleUser: "root" ansiblePass: "dangerous" - nodeName: "g-master3" ip: xx.xx.xx.xx ansibleUser: "root" ansiblePass: "dangerous" -  
开始安装
 -  
安装成功

 -  
查询 svc
istio-ingressgateway的 https 服务暴露在 NodePort 端口,本示例是 32060
 -  
创建阿里 SLB ,将 SLB 的公网 TCP 流量指向 ECS 主机的 32060 端口,3 台主机均需要添加。




 -  
修改 ghippo 反向代理配置,参考文档 https://docs.daocloud.io/ghippo/install/reverse-proxy/#_1,修改后直接通过 SLB 的公网 IP +Port 访问 DCE 5.0。如下图:


 
方案2 :cloudLB + 部署 CCM 组件¶
-  
登录一台机器,下载 dce5-installer 二进制文件。
假定 VERSION 为 v0.18.0
 -  
配置集群配置文件
clusterConfig.yaml。参考以下配置,注意设置
loadBalancer.type = cloudLB,并填写主机的私网 IP 地址:clusterConfig.yamlapiVersion: provision.daocloud.io/v1alpha3 kind: ClusterConfig spec: loadBalancer: type: cloudLB masterNodes: - nodeName: "g-master1" ip: xx.xx.xx.xx ansibleUser: "root" ansiblePass: "dangerous" - nodeName: "g-master2" ip: xx.xx.xx.xx ansibleUser: "root" ansiblePass: "dangerous" - nodeName: "g-master3" ip: xx.xx.xx.xx ansibleUser: "root" ansiblePass: "dangerous" -  
开始安装,先部署集群
通过 -j 参数指定 1,2,3,4,5,6 步骤,完成 k8s 集群的部署。
成功后输出结果如下图:

 -  
安装阿里云 CCM
参考阿里云文档进行部署。
文件
ccm.yaml中的nodeSelector参数需要改动为node-role.kubernetes.io/control-plane: ""安装成功后如下图:


 -  
继续安装 DCE 5.0,将所有产品组件安装
通过 -j 参数指定 7+ 完成剩余步骤的执行。
 -  
安装成功后,会默认创建公网的 LB 实例,并且可基于分配的 IP 来访问 DCE 5.0。


 
方案 3:NodePort + 部署 CCM 组件¶
-  
登录一台机器,下载 dce5-installer 二进制文件。
假定 VERSION 为 v0.18.0
 -  
配置集群配置文件
clusterConfig.yaml。 
参考以下配置,注意设置 loadBalancer.type = NodePort,并填写主机的私网 IP 地址:
```yaml title="clusterConfig.yaml"
apiVersion: provision.daocloud.io/v1alpha3
kind: ClusterConfig
spec:
  loadBalancer:
    type: NodePort
  masterNodes:
    - nodeName: "g-master1" 
      ip: xx.xx.xx.xx
      ansibleUser: "root"
      ansiblePass: "dangerous"
    - nodeName: "g-master2"
      ip: xx.xx.xx.xx
      ansibleUser: "root"
      ansiblePass: "dangerous"
    - nodeName: "g-master3"
      ip: xx.xx.xx.xx
      ansibleUser: "root"
      ansiblePass: "dangerous"
```
-  
开始安装
 -  
安装成功

 -  
安装后的 svc
istio-ingressgateway如下图所示:
 -  
安装 CCM,参考方案 2 中的步骤
 -  
修改 svc
istio-ingressgateway的 type 为LoadBalancer修改前:

修改后:

 -  
修改 ghippo 反向代理配置
参考文档 自定义反向代理服务器地址,其中代理地址为上一步中
istio-ingressgateway的 type 为LoadBalancer时分配的 IP 地址。修改成功后即可通过该 IP 地址进行访问。