
# 数据规划
#### 防火墙规划
防火墙的规划需符合[表1]中要求。
 表1防火墙规划 
| 源设备            | 源IP       | 源端口        | 目的设备            | 目的IP                                                                      | 目的端口（侦听）      | 协议  | 端口说明           | 侦听端口是否可更改 | 认证方式     | 加密方式     |
|:---|:---|:---|:---|:---|:---|:---|:---|:---|:---|:---|
| ucsctl执行机      | 源设备所在节点IP | ALL        | 所有节点            | 目的设备所在节点IP                                                                | 22            | TCP | SSH            | 否         | 证书/用户名密码 | TLS v1.2 |
| 所有节点           | 源设备所在节点IP | ALL        | NTP server      | 目的设备所在节点IP                                                                | 123           | UDP | ntp            | 否         | 无        | 无        |
| 所有节点           | 源设备所在节点IP | ALL        | DNS server      | 目的设备所在节点IP                                                                | 53            | UDP | dns            | 否         | 无        | 无        |
| 所有节点           | 源设备所在节点IP | ALL        | 自建APT源          | 目的设备所在节点IP                                                                | 80/443        | TCP | http           | 否         | 无        | 无        |
| 所有节点           | 源设备所在节点IP | ALL        | 集群负载均衡/VIP      | 目的设备所在节点IP                                                                | 5443          | TCP | kube-apiserver | 否         | https+证书 | TLS v1.2 |
| 所有节点           | 源设备所在节点IP | 1024-65535 | 所有节点            | 目的设备所在节点IP                                                                | 1024-65535    | ALL | 无              | 否         | 无        | 无        |
| 所有节点           | 源设备所在节点IP | ALL        | 所有节点            | 目的设备所在节点IP                                                                | 8472          | UDP | vxlan端口        | 否         | 无        | 无        |
| 需要访问ingress的节点 | 源设备所在节点IP | ALL        | 网络节点            | 目的设备所在节点IP                                                                | 80/443/按需指定端口 | TCP | http           | 否         | https+证书 | TLS v1.2 |
| 所有节点           | 源设备所在节点IP | ALL        | 3台master节点      | 目的设备所在节点IP                                                                | 5444          | TCP | kube-apiserver | 否         | https+证书 | TLS v1.2 |
| ucsctl执行机      | 源设备所在节点IP | ALL        | 华为云OBS服务        | obs.cn-north-4.myhuaweicloud.com                                          | 443           | TCP | http           | 否         | https+证书 | TLS v1.2 |
| 3台master节点     | 源设备所在节点IP | ALL        | 华为云UCS服务        | 124.70.21.61 proxyurl.ucs.myhuaweicloud.com | 30123         | TCP | grpc           | 否         | https+证书 | TLS v1.2 |
| 3台master节点     | 源设备所在节点IP | ALL        | 华为云IAM服务        | iam.cn-north-4.myhuaweicloud.com                                          | 443           | TCP | http           | 否         | https+证书 | TLS v1.2 |
| 所有节点           | 源设备所在节点IP | All        | 华为云SWR服务        | swr.cn-north-4.myhuaweicloud.com                                          | 443           | TCP | http           | 否         | https+证书 | TLS v1.2 |
| 所有节点           | 源设备所在节点IP | ALL        | Ubuntu官方源/国内代理源 | 按需配置                                                                      | 80/443        | TCP | http           | 否         | 无        | 无        |
| 监控节点           | 源设备所在节点IP | ALL        | 华为云AOM          | 域名对应IP地址                                                                  | 443           | TCP | http           | 否         | https+证书 | TLS v1.2 |
| 监控节点           | 源设备所在节点IP | ALL        | 华为云LTS          | 域名对应IP地址                                                                  | 443           | TCP | http           | 否         | https+证书 | TLS v1.2 |
   
#### 资源规格
UCS所安装的本地集群为HA版，适用于商用场景，以满足容灾高可用需求。商用版资源规格如下所述：
表2容器平台基础能力资源规格 
| 节点类型   | 数量 | CPU (Cores) | Mem (GiB) | Disk (G)-系统盘 | Disk (G)-高性能盘 | Disk (G)-数据盘 | 备注              |
|:---|:---|:---|:---|:---|:---|:---|:---|
| 集群管理节点 | 3  | 8           | 16        | 100          | 50            | 300          | 需要提供一个VIP用于高可用。 |
| 集群计算节点 | 按需 | 2           | 4         | 40           | -             | 100          | 数量按需可扩展。        |
   
表3容器智能分析节点资源规格 
| 节点类型         | CPU (Cores)                                          | Mem (GiB)                                            |
|:---|:---|:---|
| 监控prometheus | Requests：1 Limits：4   | Requests：2 Limits：12 |
| 事件log-agent  | Requests：0.5 Limits：3 | Requests：1.5 Limits：2.5  |
   
表4云原生服务中心计算节点资源规格 
| 类型            | 数量 | CPU (Cores)                                            | Mem (GiB)                                              | Disk (G)-系统盘 | Disk (G)-高性能盘 | Disk (G)-数据盘 |
|:---|:---|:---|:---|:---|:---|:---|
| operator-chef | 1  | Requests：0.5 Limits：2  | Requests：0.5 Limits：2     | 不涉及          | 不涉及           | 10（日志）       |
| helm-operator | 1  | Requests：0.3 Limits：1.5 | Requests：0.3 Limits：1.5   | 不涉及          | 不涉及           | 10（日志）       |
| ops-operator  | 1  | Requests：0.3 Limits：1.5  | Requests：0.3 Limits：1.5 | 不涉及          | 不涉及           | 10（日志）       |
   
#### 外部依赖
表5外部依赖项 
| 依赖项       | 功能解释                                                                                                                                                                                                                                                                                                                                                                                                                                           |
|:---|:---|
| DNS服务器    | DNS服务器需要能够解析OBS、SWR、IAM、DNS等服务的域名，这些服务的域名请参见[地区及终端节点](https://developer.huaweicloud.com/endpoint)。 公网接入情况下，节点可自动识别默认DNS配置，需提前将DNS服务器上游设置为公网DNS，接下来无需再手动进行DNS服务器配置。 私网接入情况下，节点无法识别默认DNS配置，因此需提前配置VPCEP解析能力，详情请参考[安装前准备](https://support.huaweicloud.com/usermanual-ucs/ucs_01_0335.html)。若您还未搭建DNS服务器，可参考[DNS](https://www.server-world.info/en/note?os=CentOS_7&p=dnsmasq&f=1)进行搭建。 |
| apt源或yum源 | 确保有可用的apt源或yum源，因为在本地集群执行纳管节点时（纳管节点是指待添加到本地集群管理的服务器），部分安装组件如ntp等，需要从apt源或yum源中获取依赖包。 须知： apt源操作适用于操作系统为Ubuntu的节点，yum源操作适用于操作系统为HCE或Redhat。                                                                                                                                                                                                                                          |
| NTP服务器    | 可选，用于保证集群各节点时间同步，如果使用，推荐用户提供外置NTP服务器。                                                                                                                                                                                                                                                                                                                                                                                                          |
   
#### 磁盘挂卷
表6磁盘挂卷 
| 节点类型   | 磁盘挂载点               | 可用大小（GB） | 用途                 |
|:---|:---|:---|:---|
| 集群管理节点 | /var/lib/containerd | 50       | 存放containerd镜像目录   |
| 集群管理节点 | /run/containerd     | 30       | containerd运行时目录    |
| 集群管理节点 | /var/paas/run       | 50       | etcd数据目录（推荐使用ssd盘） |
| 集群管理节点 | /var/paas/sys/log   | 20       | 存放日志目录             |
| 集群管理节点 | /mnt/paas           | 40       | 容器运行挂载目录           |
| 集群管理节点 | /tmp                | 20       | 临时文件目录             |
| 集群计算节点 | /var/lib/containerd | 100      | 存放containerd镜像目录   |
| 集群计算节点 | /run/containerd     | 50       | containerd运行时目录    |
| 集群计算节点 | /mnt/paas           | 50       | 容器运行挂载目录           |
| 集群计算节点 | /tmp                | 20       | 临时文件目录             |
   
#### 负载均衡规划
本地集群的HA版本部署在多台管理面节点实现容灾高可用，需要提供统一地址，供集群计算节点和其他外部服务访问。本地集群支持VIP或对接外部负载均衡器两种方式，请根据实际需求选择，**二选一**即可。
- VIP规划 要求用户设备的底层规划一个空闲IP为VIP，能够针对三台Master管理面节点规划一个VIP。该VIP会在安装过程由本地集群服务随机绑定到其中一台Master节点，并且当节点或者节点上服务异常时会自动切换到其他节点，以保证集群高可用。
  表7IP规划 
  | IP类型     | 地址              | 用途                          |
  |:---|:---|:---|
  | VIP（虚IP） | 10.10.11.10（示例） | 此处仅为示例，请以实际情况规划此IP，用于实现高可用。 |
     
  
- ELB规划 如果用户已有外部负载均衡器（ELB），本地集群可以对接外部负载均衡器实现集群高可用。具体配置如下：
  - TCP监听器：3个，端口分别为80、443、5443。
  
  - TCP后端服务器组：3个，分别对应三台Master节点的80、443、5444端口。 监听器关联的TCP后端服务器组关系，请参见[表8]。
    
  
  
   表8监听器与后端服务器组 
  | 监听器（协议/端口） | 后端服务器组名称       | 后端服务器组节点映射和端口                                           |||
  |:---|:---|:---|---|---|
  | TCP/80     | ingress-http   | master-01-IP:80   | master-02-IP:80   | master-03-IP:80   |
  | TCP/443    | ingress-https  | master-01-IP:443  | master-02-IP:443  | master-03-IP:443  |
  | TCP/5443   | kube-apiserver | master-01-IP:5444 | master-02-IP:5444 | master-03-IP:5444 |
     
  ![](https://support.huaweicloud.com/usermanual-ucs/public_sys-resources/note_3.0-zh-cn.png)
  - 不同ELB产品，外接ELB配置界面略有差异。请根据实际界面，配置上述对应关系。 华为云ELB开启"获取客户端IP"功能之后，不支持同一台服务器既作为后端服务器又作为客户端的场景。
    如果后端服务器和客户端使用同一台服务器，且开启"获取客户端IP"，则后端服务器会根据报文源IP为本地IP判定该报文为本机发出的报文，无法将应答报文返回给ELB，最终导致回程流量不通。
    使用华为云ELB时，需进行如下配置：
    1. 开启ELB的"IP类型后端"功能：ELB\>基本信息：开启IP类型后端。
    
    2. 添加IP类型后端（跨VPC后端）服务器：ELB\>监听器\>添加监听器\>添加后端服务器：选择IP类型后端（跨VPC后端）。
    
    3. 使用华为云ELB配置，详情可参考[独享型ELB获取客户端真实IP](https://support.huaweicloud.com/usermanual-elb/elb_ug_jt_0514.html)。
    
    
    ![](https://support.huaweicloud.com/usermanual-ucs/zh-cn_image_0000002102184430.png "点击放大")
    ![](https://support.huaweicloud.com/usermanual-ucs/zh-cn_image_0000002137722789.png "点击放大")
    
  
  - 安装本地集群前，请提前将**TCP监听器** 与**TCP后端服务器组**的映射关系配置到外部ELB上，并确保外部ELB功能可用。
  
  - 负载均衡器可以将来自所有Node节点（包括Master节点）上的kubelet等进程的访问流量分发到三台Master主机上，并支持自动检测并隔离不可用的进程，从而提高业务的服务能力和可用性。用户可以使用云厂商提供的负载均衡器或相关的LB硬件设备，还可以通过Keepalived和Haproxy的方式实现多个Master节点的高可用部署。
  
  - 【**推荐配置** 】ELB对上述监听端口**开启** **源地址透传** ，并**关闭环路检查** 能力。若无法单独关闭环路检查，则需关闭源地址透传。判断是否存在环路检查的方法如下：
    1. 在可被外网访问的服务器A上创建一个http服务，将默认监听端口80修改为88，并添加测试的index.html文件。
       ```
       yum install -y httpd
       sed -i 's/Listen 80/Listen 88/g' /etc/httpd/conf/httpd.conf
       echo "This is a test page" > /var/www/html/index.html
       systemctl start httpd
       ```
       在浏览器中访问**${服务器A_IP}:88**，页面显示"This is a test page"。
       
    
    2. ELB配置监听端口如30088端口，转发至服务器A的88端口，并开启源地址透传。
    
    3. 在服务器A上通过ELB内网ip访问该http服务：
       ```
       curl -v ${ELB_IP}:30088
       ```
       查看http响应状态码是否为200，若非200则说明存在环路检查。
       
     
    
 
#### 用户规划
表9用户规划 
| 用户   | 用户组  | 用户ID  | 用户组ID | 密码 | 用途                                                                                                                                                                                                                                                                                                                                             |
|:---|:---|:---|:---|:---|:---|
| root | root | 0     | 0     | -  | UCS本地集群安装时使用的默认用户，也可以指定其他用户来安装本地集群。安装用户要求满足如下条件： - 规划的所有集群管理节点密码一致。  - 用户具有完全的root用户权限。   说明： 安装完成后用户可以自行修改该用户密码或限制该用户root权限。 |
| paas | paas | 10000 | 10000 | -  | UCS本地集群服务进程的运行用户、用户组，在安装过程中创建。该用户和用户组对应名称为paas:paas，用户ID和用户组ID对应为10000:10000，因此安装前需要保证用户名、用户组名、用户ID和用户组ID不被占用。若发生冲突，需提前删除对应的用户或者用户组。                                                                                                                                                                                                           |
   
