云服务器内容精选

  • 集群备份 本地备份 创建备份文件压缩包存放的目录。 执行备份命令: ./ucs-ctl backup 集群名 --path 备份路径 --type local 示例如下: ./ucs-ctl backup gpu-test --path /home/ggz/gpu-test --type local 执行成功后,会在指定的备份路径下产生名为:集群名-backup-时间戳.tar.gz这样一个备份压缩文件。 备份压缩文件存在ha.yaml、etcd-snapshot目录、crt目录,etcd-snapshot包含etcd备份数据,crt包含证书与加解密材料。 远端备份
  • 功能验证 登录U CS 控制台。 如果是未加入舰队集群,直接单击集群名即可进入集群控制台。 如果是已加入容器舰队的集群,先进入对应容器舰队控制台,选择左侧 “集群管理”内的“容器集群”,再进入对应集群控制台。 左侧导航栏内选择“工作负载”,单击镜像创建。 选择可用镜像创建负载,并在“服务配置”中单击,添加一个ClusterIP类型的Service,具体操作请参见5工作负载服务配置。 左侧导航栏内选择“服务与路由”,单击“路由”,单击“创建路由”,选择刚刚所创建的ClusterIP类型的Service。路由配置相关操作请参见路由。 访问ingress服务,确认转发规则配置成功。 如果是使用LoadBalancer暴露的ingress服务,选择LoadBalancer的ingress服务进行集群外访问: 如果是使用NodePort暴露的ingress服务,选择任意节点+ingress svc端口进行集群外访问:
  • 使用本地集群KubeConfig文件 拿到ucs-ctl生成的KubeConfig之后,还需要使KubeConfig在节点上生效,步骤如下: 复制KubeConfig到节点上。 scp /local/path/to/kubeconfig user@remote:/remote/path/to/kubeconfig 如果当前节点添加过EnableSecretEncrypt环境变量,需要先取消。 unset EnableSecretEncrypt 使KubeConfig生效,可选方法: 方法一:复制到默认位置。 mv /remote/path/to/kubeconfig $HOME/.kube/config 方法二:环境变量指定。 export KUBECONFIG=/remote/path/to/kubeconfig 方法三:命令行参数指定。 kubectl --kubeconfig=/remote/path/to/kubeconfig 上述操作之后,就可以访问本地集群的API server了。关于KubeConfig更详细的用法可参考:使用kubeconfig文件组织集群访问Kubernetes。
  • 获取本地集群KubeConfig文件 KubeConfig是Kubernetes集群中组织有关集群、用户、命名空间和身份认证机制信息的配置文件,Kubectl使用KubeConfig来获取集群的信息并与API server进行通信。 获取本地集群的KubeConfig需要使用ucs-ctl工具,获取步骤如下: 使用ucs-ctl获取集群名称。 ./ucs-ctl get cluster 使用ucs-ctl导出指定集群的KubeConfig。 ./ucs-ctl get kubeconfig -c test-redhat86 -o kubeconfig 可以使用ucs-ctl get kubeconfig -h查看获取KubeConfig所使用到的参数。 -c, --cluster string:指定待导出KubeConfig的集群名。 -e, --eip string:指定API server的eip。 -o, --output string:指定KubeConfig导出文件名。 -p, --secretPath string:指定待导出KubeConfig的加密物料路径。
  • 更新本地集群证书文件 为应对本地集群证书信息泄露或过期情况,或进行例行的安全维护,可以使用ucs-ctl对本地集群的证书文件进行更新。 更新证书可以选择tls或者ca类型。 ./ucs-ctl kcm update-cert {cluster_name} --mode tls 若需要再次更新,需先删除证书目录的文件,然后进行更新,否则将会报错:error: "update cert recordFile[\"var/paas/ucs/{cluster_name}/cert_update/status.json\"] already exists, please use the option \"-- retry or -r\"to retry it". rm -rf /var/paas/ucs/{cluster_name}/cert_update
  • 本地集群配置文件 本地集群配置文件为一个Cluster.yaml文件,是在UCS 控制台中自动生成,用于初始化本地集群的master节点。表1是该文件内各个字段的说明。 表1 命令 配置项 配置命令 # ssh登录master节点用户 USERNAME: root # ssh登录master节点密码 PASSWORD: # 集群master1节点IP地址 MASTER-1: # 集群master2节点IP地址 MASTER-2: # 集群master3节点IP地址 MASTER-3: # 是否使用ELB# 是否使用ELB AC CES S_EXTERNAL_LOAD_BALANCE: false # 可用ELB地址 EXTERNAL_LOAD_BALANCE_IP: # 集群VIP地址 VIRTUAL_IP: # 容器网络服务 NETWORK_PROVIDER: cilium # 容器网段 CILIUM_IPV4POOL_CIDR: 172.16.0.0/16 # cilium bgp 开关 CILIUM_BGP_ENABLE: false # cilium bgp 邻居地址 CILIUM_BGP_PEER_ADDRESS: 127.0.0.1 # cilium bgp AS编号 CILIUM_BGP_PEER_ASN: 65010 # cilium 负载均衡网段 LOAD_BALANCER_CIDR: # cilium 容器网络模式 CILIUM_NETWORK_MODE: overlay # 时区 TIMEZONE: Asia/Shanghai # 是否对管理节点打污点 TAINT_MANAGE: yes # 是否使用NTP INSTALL_NTP: true # 外接ntp服务地址 NTP_SERVER_IP: # 代理转发模式 PROXY_MODE: ebpf # 外接dns服务地址 DNS_SERVER_IP: # 集群外部访问地址 CUSTOM_IP: # 集群安装包下载地址 PACKAGE_PATH: # 集群镜像包下载地址 IMAGES_PACKAGE_PATH: # IAM 租户ID IAM_DOMAIN_ID: # IAM 云服务地址 IAM_ENDPOINT: 父主题: 管理本地集群
  • 纳管节点 在执行机上使用./ucs-ctl config generator -t node -o node.csv命令生成纳管节点时使用的配置文件。 将所需节点的参数写入配置文件,使用英文逗号分隔,如下所示。参数描述如表1。 表1 配置文件参数描述 参数 描述 Node IP 节点IP User SSH连接用户 Password SSH连接密码 示例: Node IP,User,Password123.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指定纳管时使用的节点文件,可以一次性卸载所有节点。 如果命令执行失败,请参考如何手动清理本地集群节点?处理。
  • 为什么需要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 underlay能力 在本地集群配置文件“cluster-[集群名称].yaml”中添加以下配置: CILIUM_NETWORK_MODE: underlay 例图: 模式优势: 此模式下,Cilium会将所有未发送到其他容器的数据包委托给Linux内核的路由子系统。这意味着数据包将被路由直接转发,就好像本地进程发出数据包一样,减少了数据包的封装和转换。因此,在大流量场景下,该模式存在一定性能优势。 该模式下自动配置ipv4-native-routing-cidr,Cilium会在Linux内核中自动启用IP转发。 模式依赖: 在underlay模式下,运行Cilium的主机的网络必须能够使用分配给Pod或其他工作负载的地址转发IP流量,需要关闭节点的源目的地址检查,并且节点安全组按需放通容器网段的端口及协议。 Cilium对接主机BGP 使用Cilium BGP Control Plane管理集群网络,具体使用方法请参见Cilium BGP Control Plane。