云服务器内容精选

  • 纳管节点 在执行机上使用./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指定纳管时使用的节点文件,可以一次性卸载所有节点。 如果命令执行失败,请参考如何手动清理本地集群节点?处理。
  • 功能验证 登录UCS控制台。 如果是未加入舰队集群,直接单击集群名即可进入集群控制台。 如果是已加入容器舰队的集群,先进入对应容器舰队控制台,选择左侧 “集群管理”内的“容器集群”,再进入对应集群控制台。 左侧导航栏内选择“工作负载”,单击镜像创建。 选择可用镜像创建负载,并在“服务配置”中单击,添加一个ClusterIP类型的Service,具体操作请参见5工作负载服务配置。 左侧导航栏内选择“服务与路由”,单击“路由”,单击“创建路由”,选择刚刚所创建的ClusterIP类型的Service。路由配置相关操作请参见路由。 访问ingress服务,确认转发规则配置成功。 如果是使用LoadBalancer暴露的ingress服务,选择LoadBalancer的ingress服务进行集群外访问: 如果是使用NodePort暴露的ingress服务,选择任意节点+ingress svc端口进行集群外访问:
  • 安装Ingress-nginx 登录UCS控制台。 左侧导航栏内选择“云原生服务中心”,在“服务目录中”中搜索Ingress-nginx开源插件,单击进入插件详情。 图1 搜索Ingress-nginx 订阅Ingress-nginx后,单击“创建实例”,选择需要使用Ingress-nginx的集群。 如果是集群已安装Metallb,可以使用Metallb的负载均衡能力,将ingress-nginx服务暴露到集群外,直接根据页面引导进行安装。 如果集群未规划安装Metallb,则只能通过NodePort形式暴露ingress-nginx能力。 需要将.values.controller.service.type从LoadBalancer修改为NodePort后进行安装,如图2所示。 图2 参数修改
  • 本地资源清理 该操作可能导致与该集群有绑定关系的资源(比如指定调度集群的负载等)无法正常使用,请谨慎操作,避免对运行中的业务造成影响。 在控制台注销并没有真正删除本地集群,您需要手动进入集群内完成删除过程。 复制注销之后控制台返回的卸载命令。 进入本地集群中的节点内,执行卸载命令。 ./ucs-ctl delete cluster cluster_name cluster_name请替换为集群名称。
  • 在控制台注销本地集群 仅在控制台进行注销操作,不会删除集群。 进入 UCS 界面,左侧导航栏选择“容器舰队”。 找到待注销的本地集群: 已加入容器舰队的本地集群,先进入对应的容器舰队控制台,然后再左侧导航栏选择容器集群。 未加入容器舰队的本地集群,单击容器舰队列表最上面的“未加入舰队的集群”即可。 单击本地集群右上角红色的注销按钮,会弹出注销确认框。 确认待注销的集群名称等信息,并勾选“我已阅读并知晓上述信息”,单击“确定”即可在控制台注销本地集群。
  • master节点与组件升级命令说明 本地集群用户可以通过最新版本的本地集群命令行工具ucs-ctl来进行集群升级,对于管理组件和管理节点的升级,命令如下: ./ucs-ctl upgrade cluster [cluster_name] [flags] 可以配置的flag如下: -a:节点的全量升级,默认情况下upgrade cluster只会升级管理面节点和服务组件,加上-a后则表示全量升级,包括升级所有的业务节点。 -y:默认同意所有请求。 -patch:升级补丁包。 -R:回滚选项。
  • 升级操作 登录UCS控制台,选择“容器舰队”或“未加入舰队的集群”内一个正在运行的低版本集群,单击右下方“升级集群”。 下载更新工具,请使用一台能连接集群的节点作为执行机,先使用如下命令下载新版本的集群管理工具: curl https://ucs-onprem.obs.XXXX.huawei.com/toolkits/ucs-ctl/ucs-ctl -o ucs-ctl && chmod +x ucs-ctl 升级master节点,这里可以使用-y命令来跳过所有选择项,其他可配置的flag请参照master节点与组件升级命令说明: ./ucs-ctl upgrade cluster [cluster name] 集群名称需要和创建本地集群时指定的名称一致,如果不确定名称可进集群内,使用命令查看: ./ucs-ctl get cluster node节点升级,node节点升级可以选择两种升级方式: 全量升级,全量升级指的是将集群内剩余节点全部升级,命令如下: ./ucs-ctl upgrade node -a -c [cluster name] 分批次部分升级,为了防止升级过程出现业务中断的情况,用户也可以选择分批次部分升级节点,此时需要手动选择节点。 ./ucs-ctl upgrade node -n [node ip] -c [cluster name] 特殊情况:若本地集群目前只有master节点,无node节点,此时仅提供master节点的升级命令。 其他可配置的flag请参照node节点升级命令说明。
  • node节点升级命令说明 对于常规业务节点的升级,命令如下: ./ucs-ctl upgrade node [flags] -c [cluster_name] 其中必须指定集群名称,即加上`-c [cluster_name]`这个flag。 可以配置的flag如下: -a:节点的全量升级。 -y:默认同意所有请求。 -c:指定集群名称。 -r:回滚选项。 -n:指定节点IP。 -f:指定节点配置文件。
  • 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。