
# 安装前检查
#### 节点软件更新与升级要求
请关闭节点软件自动更新，请勿进行docker安装和containerd版本升级。禁用Ubuntu软件自动更新可参考[Ubuntu Enable Automatic Updates Unattended Upgrades](https://www.richud.com/wiki/Ubuntu_Enable_Automatic_Updates_Unattended_Upgrades#10periodic_.2C_20auto-upgrades)。
#### 检查OS系统语言
安装本地集群前，请先检查OS系统语言，确保系统语言为英文。
#### 检查节点apt源（Ubuntu）
![](https://support.huaweicloud.com/usermanual-ucs/public_sys-resources/notice_3.0-zh-cn.png)
检查节点apt源操作适用于操作系统为Ubuntu的节点，若您的节点操作系统为HCE或Redhat，请参见[检查节点yum源（HCE、Redhat）]进行检查。
在本地集群执行纳管节点操作时（纳管节点是指待添加到本地集群管理的服务器），部分安装组件如ntpdate等，需要从apt源中获取依赖包。故纳管节点前，请确保节点上apt源是可用的，若不可用，请执行如下操作。
1. 以安装用户（默认为root）登录待安装的集群管理节点。
2. 编辑"/etc/apt/sources.list"。 
   具体信息以实际规划的apt源服务器地址为准。
   
   
3. 保存文件，执行如下命令。 
   **sudo apt-get update**
   
   
4. 请分别登录到规划的节点执行上述操作。
 
 #### 检查节点yum源（HCE、Redhat）
在本地集群执行纳管节点操作时，部分安装组件如ntpdate等，需要从yum源中获取依赖包。故纳管节点前，请确保节点上yum源是可用的，若不可用，请执行如下操作。
1. 以安装用户（默认为root）登录待安装的集群管理节点。
2. 修改/etc/yum.repos.d/目录下的软件源配置文件。 
   具体信息以实际规划的yum源服务器地址为准。
   
   
3. 保存文件，执行如下命令。 
   **sudo yum clean all**
   **sudo yum makecache**
   
   
4. 请分别登录到规划的节点执行上述操作。
 
#### 主机最小化安装要求
- 不使用的软件包不允许存在系统中 遵循最小化安装原则，只安装业务需要的软件包与服务组件。减少系统漏洞，降低系统遭受攻击风险。
  
- 用于生产环境的系统中不允许保留开发和编译工具
  系统中不允许存在如下开发工具和编译工具：
  ```
  'cpp' (/usr/bin/cpp)
  'gcc' (/usr/bin/gcc)
  'ld' (/usr/bin/ld)
  'lex' (/usr/bin/lex)
  'rpcgen' (/usr/bin/rpcgen)
  ```
  如果产品的生产环境，比如在部署或运行过程中需要python、lua等解释器，则可以保留解释器运行环境，否则不允许保留。
  ```
  'python' (/usr/bin/python)
  'lua' (/usr/bin/lua)
  ```
  同样情形适用于perl解释器，Suse系统的一些管理程序依赖perl解释器，在这种情形下，则可保留perl解释器，否则需要去除。
  ```
  perl (/usr/bin/perl)
  ```
  
- 操作系统中不允许安装显示安全策略的工具 防止系统的安全信息泄露。依照业务需求，预安装的安全加固工具，限制其文件的所有者为root，并且仅root具有执行权限。
  
- 操作系统中不允许存在网络嗅探类的工具 tcpdump、ethereal等嗅探工具不允许出现在系统上，防止被恶意使用。
  
- 在不需要Modem系统中不应默认安装Modem 在不需要Modem系统中不应默认安装Modem，严格遵循系统最小化安装。
  
 
#### 集群安装检查项
在安装本地集群前，您需要对节点进行一系列检查。
表格中的命令适用于HCE与Redhat操作系统，若您使用Ubuntu操作系统，请将命令中的"yum"修改为"apt"。
| 检查类型 | 检查名            | 检查内容                  | 检查通过标准                                                                                                                                                                                                            |
|:---|:---|:---|:---|
| 集群检查 | 节点架构检查         | 所有安装的Master节点架构检查     | 所有安装节点架构必须一致                                                                                                                                                                                                      |
| 集群检查 | 节点主机名检查        | 所有安装的Master节点主机名检查    | 所有安装节点主机名必须不同                                                                                                                                                                                                     |
| 集群检查 | 节点时钟同步检查       | 所有安装的Master节点时钟同步状态检查 | 所有安装节点主机时间差异必须小于10秒                                                                                                                                                                                               |
| 集群检查 | VIP使用检查        | VIP是否被其他节点占用          | VIP必须处于空闲状态，检查依据22端口是否能被访问通                                                                                                                                                                                       |
| 节点检查 | 节点语言检查         | 节点语言设置必须符合约束          | 节点语言设置符合en_US.UTF-8、en_GB.UTF-8任何一种                                                                                                                                                                               |
| 节点检查 | 节点操作系统检查       | 节点操作系统必须符合约束          | 节点操作系统为Ubuntu 22.04、Redhat 8.6、HCE 2.0任何一种                                                                                                                                                                        |
| 节点检查 | 系统命令检查         | 节点具备基础命令行工具           | 操作系统具备以下命令行工具：ifconfig、netstat、curl、systemctl、nohup、pidof、mount、uname、lsmod、swapoff、hwclock、ip、ntpdate（对接ntp场景具备）                                                                                                 |
| 节点检查 | 端口空闲检查         | 节点必装服务端口未被占用          | 操作系统以下端口未被占用： 4001、4002、4003、2380、2381、2382、4011、4012、4013、4005、4006、4007、5444、8080、10257、10259、4133、20100、9444、20102、9443、5443、4134、4194、10255、10248、10250、80、443、10256、10249、20101 |
| 节点检查 | keepalived安装检查 | keepalived未安装         | 执行**yum list --installed keepalived**列表无对应服务                                                                                                                                                                      |
| 节点检查 | haproxy安装检查    | haproxy未安装            | 执行**yum list --installed haproxy**列表无对应服务                                                                                                                                                                         |
| 节点检查 | runit安装检查      | runit未安装              | 执行**yum list --installed runit**列表无对应服务                                                                                                                                                                           |
| 节点检查 | paas用户检查       | 节点paas用户处于可创建状态       | 节点paas用户不存在且id为10000的用户未被占用                                                                                                                                                                                       |
| 节点检查 | ntp服务检查        | ntp服务处于可用状态           | chrony需配置好ntpserver服务器，在节点执行 **chronyc sources -v** 可检查ntpserver服务器状态 说明： 默认ntp为chrony，默认使用chrony命令进行检查                                                |
   
