云服务器内容精选

  • 检查节点apt源(Ubuntu) 检查节点apt源操作适用于操作系统为Ubuntu的节点,若您的节点操作系统为HCE或Redhat,请参见检查节点yum源(HCE、Redhat)进行检查。 在本地集群执行纳管节点操作时(纳管节点是指待添加到本地集群管理的服务器),部分安装组件如ntpdate等,需要从apt源中获取依赖包。故纳管节点前,请确保节点上apt源是可用的,若不可用,请执行如下操作。 以安装用户(默认为root)登录待安装的集群管理节点。 编辑“/etc/apt/sources.list”。 具体信息以实际规划的apt源服务器地址为准。 保存文件,执行如下命令。 sudo apt-get update (可选)若有多个管理节点,如HA版本,请分别登录到规划的管理节点执行上述操作。
  • 检查节点yum源(HCE、Redhat) 在本地集群执行纳管节点操作时,部分安装组件如ntpdate等,需要从yum源中获取依赖包。故纳管节点前,请确保节点上yum源是可用的,若不可用,请执行如下操作。 以安装用户(默认为root)登录待安装的集群管理节点。 修改/etc/yum.repos.d/目录下的软件源配置文件。 具体信息以实际规划的yum源服务器地址为准。 保存文件,执行如下命令。 sudo yum clean all sudo yum makecache (可选)若有多个管理节点,如HA版本,请分别登录到规划的管理节点执行上述操作。
  • 主机最小化安装要求 不使用的软件包不允许存在系统中 遵循最小化安装原则,只安装业务需要的软件包与服务组件。减少系统漏洞,降低系统遭受攻击风险。 用于生产环境的系统中不允许保留开发和编译工具 系统中不允许存在如下开发工具和编译工具: '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服务处于可用状态 节点执行ntpdate -u ${ntp_server}可正常访问ntp
  • 基础软件规划 本地集群节点的操作系统、内核版本等基础软件规划需要符合表1中的要求。 表1 基础软件规划 系统架构 系统类型 网络模型 操作系统版本 内核版本限制 x86 Ubuntu 22.04 Cilium 检查命令:cat /etc/lsb-release DISTRIB_DESCRIPTION="Ubuntu 22.04.1 LTS" 检查命令:uname -r 5.10.0-46-generic及以上 Redhat 8.6 Cilium 检查命令:cat /etc/os-release Red Hat Enterprise Linux release 8.6 (Ootpa) 检查命令:uname -r 4.18.0-372.9.1.el8.x86_64 HCE OS 2.0 Cilium 检查命令:cat /etc/os-release Huawei Cloud EulerOS release 2.0 (West Lake) 检查命令:uname -r 5.10.0-60.18.0.50.r865_35.hce2.x86_64 Cilium是一种网络插件,支持BGP、eBPF等网络协议,详细了解Cilium请参见Cilium官方文档。 HCE OS 2.0(Huawei Cloud EulerOS)是基于华为开源社区openEuler构建的Linux操作系统,提供云原生、高性能、安全稳定的执行环境来开发和运行应用程序,支持X86、ARM64等硬件架构。如需安装HCE OS 2.0,请提交工单,联系技术支持人员。详细了解HCE OS请参见HCE OS文档。 父主题: 安装本地集群的业务规划
  • 注册集群 登录U CS 控制台,在左侧导航栏中选择“容器舰队”。 单击本地集群选项卡中的“注册集群”按钮。 参考表1填写待添加集群的基础信息,其中带“*”的参数为必填参数。 表1 注册集群基础信息配置 参数 参数说明 集群名称* 输入集群的自定义名称,需以小写字母开头,由小写字母、数字、中划线(-)组成,且不能以中划线(-)结尾。 所属区域* 选择集群所在的区域。 集群标签 非必填项,以键值对的形式为集群添加标签,可以通过标签实现集群的分类。键值对可自定义,以字母或者数字开头和结尾,由字母、数字、连接符(-)、下划线(_)、点号(.)组成,且63个字符之内。 容器舰队 选择集群所属的舰队。 舰队用于权限精细化管理,一个集群只能加入一个舰队。若不选择舰队,集群注册成功后将显示在“未加入舰队的集群”页签下,后续还可以再添加至舰队中。 不支持在注册集群阶段选择已开通集群联邦能力的舰队,如果一定要加入这个舰队,请在集群注册成功后,再添加到该舰队中。关于集群联邦的介绍,请参见开通集群联邦章节。 如需新建舰队,请参见管理容器舰队。 单击“确定”,集群注册成功后如图1所示,请在24小时内接入网络。您可选择集群的接入方式或单击右上角按钮查看详细的网络接入流程。 如您未在24小时内接入网络,将会导致集群注册失败,可单击右上角按钮重新注册集群。如果已经接入但数据未采集上来,请等待2分钟后刷新集群。 图1 集群等待接入状态
  • Cilium underlay能力 在本地集群配置文件“cluster-[集群名称].yaml”中添加以下配置: CILIUM_NETWORK_MODE: underlay 例图: 模式优势: 此模式下,Cilium会将所有未发送到其他容器的数据包委托给Linux内核的路由子系统。这意味着数据包将被路由直接转发,就好像本地进程发出数据包一样,减少了数据包的封装和转换。因此,在大流量场景下,该模式存在一定性能优势。 该模式下自动配置ipv4-native-routing-cidr,Cilium会在Linux内核中自动启用IP转发。 模式依赖: 在underlay模式下,运行Cilium的主机的网络必须能够使用分配给Pod或其他工作负载的地址转发IP流量,需要关闭节点的源目的地址检查,并且节点安全组按需放通容器网段的端口及协议。
  • 为什么需要Cilium Cilium是一种高性能、高可靠性的容器网络解决方案,它通过eBPF技术在Linux内核层面实现网络和安全通信。它支持多种传输层协议,例如TCP、UDP和HTTP,并提供了多种安全特性,例如应用层访问控制和服务网格支持。Cilium还支持Kubernetes网络策略,并提供了全局网络和服务发现功能,能够帮助管理员更好地管理和部署云原生应用和服务。 Cilium的eBPF 技术通过在Linux内核层面实时监控网络流量,实现了高效的安全数据包交换。该技术在网络功能虚拟化、容器网络和边缘计算等场景中都有广泛应用,能够帮助企业提升网络性能和安全性,为云原生应用提供更好的基础设施支持。 基本功能 为容器提供网络互通:Cilium通过为每个容器分配一个独特的IP地址来实现容器间的网络互通,同时支持多种网络协议。 具备网络安全检测能力:Cilium支持通过集成第三方的网络安全检测服务,如Snort等,来进行网络流量分析和检测。 自动进行 容器安全 策略管理:Cilium通过基于Kubernetes 的自定义资源定义(CRD)机制,为每个容器自动创建安全策略,保障容器的安全。 实现容器级别的负载均衡:Cilium支持实现容器级别的负载均衡,允许通过多种负载均衡算法来分配网络请求流量。 提供服务发现功能:Cilium支持借助基于Kubernetes的服务探测机制,自动发现容器内的服务,并将其注册到Kubernetes API中,以便于其他容器访问。
  • Cilium对接主机BGP 在页面提供的本地集群配置文件“cluster-[集群名称].yaml”中添加以下配置: CILIUM_BGP_ENABLE: true CILIUM_BGP_PEER_ADDRESS: 需要对接的交换机地址。 CILIUM_BGP_PEER_ASN: 需要对接的交换机BGP AS number(64512-65535)。 LOAD_BALANCER_CIDR:需要广播出去的负载均衡网段,可提供给metalLB等开源插件使用。 例图: 将需要对外暴露容器网络的节点IP,作为neighbor address(交换机邻居地址)配置在主机所在的BGP网络中,容器的ASN默认为65010。 Cilium的BGP能力是以节点粒度对外宣告节点容器路由,实现集群外节点服务直接访问集群内Pod。
  • 纳管节点 在执行机上使用./ucs-ctl config generator -t node -o node.csv命令生成纳管节点时使用的配置文件。 将所需节点的参数写入配置文件,使用英文逗号分隔,如下所示。参数描述如表1。 表1 配置文件参数描述 参数 描述 Node IP 节点IP User SSH连接用户 Password SSH连接密码 示例: Node IP,User,Password 123.45.6.789,root,******** 123.45.6.890,root,******** 在执行机上执行以下命令./ucs-ctl create node -c [集群名称] -m node.csv,完成节点的纳管。 node.csv文件中存在秘钥信息,请妥善保管。
  • 卸载节点 方法一: 在执行机上执行 ./ucs-ctl delete node -c [集群名称] -n [node ip1],[node ip2],… 使用-n指定具体IP,使用英文逗号分隔。 方法二: 在执行机执行 ./ucs-ctl delete node -c [集群名称] -m node.csv 使用-m指定纳管时使用的节点文件,可以一次性卸载所有节点。 如果命令执行失败,请参考如何手动清理本地集群节点?处理。
  • 接入前准备 服务 域名 IP(如涉及) 端口 SWR swr.cn-north-4.myhuaweicloud.com 从VPCEP中获取。 443 OBS op-svc-swr-b051-10-38-19-62-3az.obs.cn-north-4.myhuaweicloud.com 不涉及 443、80 CIA cie-{容器智能分析实例instanceid前八位数字}{当前选择接入的VPC子网ID前八位数字}.cn-north-4.myhuaweicloud.com 从VPCEP中获取。 443 DNS 不涉及 创建VPCEP,选择DNS Endpoint对应的地址。 53 其他区域的SWR及依赖OBS的域名信息。 Region SWR域名 OBS域名 华北-北京四 swr.cn-north-4.myhuaweicloud.com op-svc-swr-b051-10-38-19-62-3az.obs.cn-north-4.myhuaweicloud.com 华东-上海二 swr.cn-east-2.myhuaweicloud.com obs.cn-east-2.myhuaweicloud.com 华东-上海一 swr.cn-east-3.myhuaweicloud.com op-svc-swr-b051-10-147-7-14-3az.obs.cn-east-3.myhuaweicloud.com 华南-广州 swr.cn-south-1.myhuaweicloud.com op-svc-swr-b051-10-230-33-197-3az.obs.cn-south-1.myhuaweicloud.com 西南-贵阳一 swr.cn-southwest-2.myhuaweicloud.com op-svc-swr-b051-10-205-14-19-3az.obs.cn-southwest-2.myhuaweicloud.com 华北-乌兰察布一 swr.cn-north-9.myhuaweicloud.com obs.cn-north-9.myhuaweicloud.com 亚太-新加坡 swr.ap-southeast-3.myhuaweicloud.com op-svc-swr-b051-10-38-34-172-3az.obs.ap-southeast-3.myhuaweicloud.com 香港 swr.ap-southeast-1.myhuaweicloud.com obs.ap-southeast-1.myhuaweicloud.com 拉美-墨西哥一 swr.na-mexico-1.myhuaweicloud.com obs.na-mexico-1.myhuaweicloud.com 拉美-墨西哥二 swr.la-north-2.myhuaweicloud.com obs.la-north-2.myhuaweicloud.com
  • 操作步骤 于安装节点获取节点清理脚本。 在解压后的“/var/paas/.ucs-package/ucs-onpremise/scripts/”目录下,即可获取清理脚本uninstall_node.sh。 将清理脚本拷贝到待清理的节点。 登录到待清理的节点上,执行以下命令进行清理操作: bash uninstall_node.sh 为了尽可能减少残留进程或者数据,清理脚本支持多次执行。 清理脚本执行完成后,重启节点。 重复执行上述操作,清理其他节点。
  • 操作步骤 下载ucs-ctl二进制工具,放到任一台本地集群的管控节点/root/ucs目录下。 将所有节点密码信息记录到表格中,并保存到二进制所在节点/root/ucs/update_cert.csv。格式请参考表1。 表1 表格模板 字段 说明 Node IP 必填,节点IP地址 Node Role 必填,节点角色(选填master/node) User 必填,节点登录用户 Password 选填,节点登录密码 Auth Type 选填,节点认证类型(选填password/key) Key Path 选填,节点登录密钥路径 样例如下: Node IP,Node Role,User,Password,Auth Type,Key Path 192.168.0.145,master,root,xxx,password, 192.168.0.225,master,root,xxx,password, 192.168.0.68,master,root,xxx,password, 192.168.0.89,node,root,xxx,password, 导出环境变量 export CUSTOM_DOMAIN={ucs_endpoint},10.247.0.1 其中ucs_endpoint为server访问地址,可通过以下方式获取。 cat /var/paas/srv/kubernetes/kubeconfig | grep server 执行证书更新。 cd /root/ucs ./ucs-ctl kcm update-cert {cluster_name} -c update_cert.csv 失败后重试。 ./ucs-ctl kcm update-cert {cluster_name} -c update_cert.csv -r 失败后回滚。 ./ucs-ctl kcm rollback-cert {cluster_name} -c update_cert.csv
  • 前提条件 已在UCS控制台申请本地集群试用。 UCS集群配额充足。 节点/tmp目录需要预留20GB空间。 根据安装前检查确保待安装节点检查项已满足。 准备一台执行机,要求与集群网络连通。 在UCS提供服务的区域中创建一个VPC,具体操作请参见创建虚拟私有云和子网,当前仅支持“华北-北京四”区域。 该VPC子网网段不能与IDC中已使用的网络网段重叠,否则将无法接入集群。例如,IDC中已使用的VPC子网为192.168.1.0/24,那么华为云VPC中不能使用192.168.1.0/24这个子网。