云服务器内容精选

  • Linux系统操作步骤 以root用户登录云服务器。 执行vi /etc/resolv.conf命令编辑“/etc/resolv.conf”文件。在已有的nameserver配置前写入DNS服务器的IP地址,如图1所示。 图1 配置DNS 格式如下: nameserver 100.125.1.250 nameserver 100.125.17.29 单击“Esc”,并输入:wq,保存退出。 执行以下命令,查看IP地址是否写入成功。 cat /etc/resolv.conf 执行以下命令,验证文件系统 域名 是否可以解析到IP地址。 nslookup 文件系统域名 文件系统域名请从文件系统的挂载地址中获取。 (可选)在使用DHCP服务的网络环境,需要对“/etc/resolv.conf”文件进行锁定设置,禁止文件在云服务器重启后进行自动修改。防止2中写入的DNS服务器的IP地址被重置。 执行如下命令,进行文件锁定设置。 chattr +i /etc/resolv.conf 如果需要再次对锁定文件进行修改,执行chattr -i /etc/resolv.conf命令,解锁文件。 执行如下命令,验证是否设置成功。 lsattr /etc/resolv.conf 回显如图2所示信息,表明文件处于锁定状态。 图2 锁定状态的文件
  • 响应消息 响应参数如表3所示。 表3 响应参数 参数 参数类型 描述 云服务器所在网络名称 List(Dict) 云服务器所在网络,内嵌云服务器网络详细信息,格式参见表4。 表4 云服务器网络参数结构说明 属性 类型 CRUD 默认值 约束 备注 version Integer R 不涉及 4 or 6 IP地址版本,IPv4或者IPv6 addr String R 不涉及 IP地址格式 IP地址
  • 如何从容器访问公网? 您可以使用公有云平台提供的NAT网关服务。该服务能够为虚拟私有云内的容器提供 网络地址转换 (Network Address Translation)服务,使虚拟私有云内的容器可以共享使用弹性公网IP访问Internet。通过NAT网关的SNAT功能,可以直接访问Internet,提供超大并发数的连接服务,适用于请求量大、连接数多的服务。详细信息请参见从容器中访问公网。 父主题: 网络管理类
  • ENI安全组出方向规则加固建议 对于出方向规则,Autopilot集群创建的ENI安全组默认全部放通,通常情况下不建议修改。如需加固出方向规则,请注意如下端口需要放通。 表3 ENI安全组出方向规则最小范围 端口 放通地址段 说明 所有端口 本安全组 属于本安全组的目的地址需全部放通,容器间网络互访。 TCP:5443 VPC网段 kube-apiserver服务端口,提供K8s资源的生命周期管理。 TCP:443 100.125.0.0/16网段 访问OBS端口或者SWR端口,拉取镜像。 UDP:53 100.125.0.0/16网段 用于域名解析。 TCP:443 VPC网段 通过SWR终端节点,拉取镜像。 所有端口 198.19.128.0/17网段 访问VPCEP服务。 TCP:9443 VPC网段 Node节点网络插件访问Master节点。
  • ENI安全组 Autopilot集群会创建名为{集群名}-cce-eni-{随机ID}的ENI安全组,默认为集群中的容器绑定该安全组,默认端口说明请参见表2。 表2 ENI安全组默认端口说明 方向 端口 默认源地址 说明 是否可修改 修改建议 入方向规则 全部 本安全组 属于本安全组的源地址需全部放通。 不可修改 不涉及 Master节点网段 Master节点主动访问kubelet(如执行kubectl exec {pod})。 不可修改 不涉及 出方向规则 全部 所有IP地址(0.0.0.0/0及::/0) 默认全部放通。 可以修改 如需加固出方向规则,请注意指定端口需要放通,详情请参见ENI安全组出方向规则加固建议。
  • Master节点安全组 集群自动创建的Master节点安全组名称为{集群名}-cce-control-{随机ID},默认端口说明请参见表1。 表1 Master节点安全组默认端口说明 方向 端口 默认源地址 说明 是否支持修改 修改建议 入方向规则 全部 本安全组 属于本安全组的源地址需全部放通。 不可修改 不涉及 出方向规则 全部 所有IP地址(0.0.0.0/0及::/0) 默认全部放通。 不可修改 不涉及
  • 响应参数 状态码: 400 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_description String 请求参数错误。 状态码: 401 表9 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_description String 校验TOKEN失败。 状态码: 403 表10 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_description String 租户无权限操作。 状态码: 404 表11 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_description String 没有找到CBH资源。
  • 请求示例 { "server_id" : "0f2c69d1-e420-4ae1-9b43-ab8699883678", "network" : { "vpc_id" : "760071b3-34a3-4359-bf18-3af24e77c1cf", "subnet_id" : "90b6be71-e72a-4d5a-8838-5924bce3c583", "private_ip" : { "ip" : "192.168.0.3", "slave_ip" : null, "floating_ip" : null }, "public_ip" : null, "security_groups" : [ { "id" : "21321412321321321" } ] } }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用 IAM 服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 可参考"IAM获取IAM用户Token"获取 表3 请求Body参数 参数 是否必选 参数类型 描述 server_id 是 String 需要切换vpc的实例id network 是 NetworkInfoCreate object 切换 云堡垒机 实例vpc所需网络信息。 表4 NetworkInfoCreate 参数 是否必选 参数类型 描述 vpc_id 是 String 待创建云服务器所属虚拟私有云(简称VPC),需要指定已创建VPC的ID,UUID格式。 VPC的ID可以从控制台或者参考《虚拟私有云接口参考》的“查询VPC”章节获取。 例如:03211ecf-xxxx-4306-xxxx-6e939bfxxxxx subnet_id 是 String 子网ID,字母数字下划线连接符组成。 public_ip 是 PublicIp object 云 堡垒机 实例弹性公网IP信息。可填写null值 security_groups 是 Array of SecurityGroup objects 安全组信息。 private_ip 否 PrivateIp object 云堡垒机实例指定公网IP信息。 表5 PublicIp 参数 是否必选 参数类型 描述 id 否 String 弹性IP和EIP只能有一个,弹性IP或EIP的ID。 public_eip 否 String 弹性IP地址。 表6 SecurityGroup 参数 是否必选 参数类型 描述 id 是 String 云堡垒机实例安全组ID,字母数字下划线连接符组成。 表7 PrivateIp 参数 是否必选 参数类型 描述 ip 是 String 私网IP地址。 slave_ip 否 String 备机私网IP地址。 floating_ip 否 String 浮动IP地址。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 可参考"IAM获取IAM用户Token"获取 表3 请求Body参数 参数 是否必选 参数类型 描述 publicip_id 是 String 弹性公网IP的ID,使用UUID格式。
  • 响应参数 状态码: 400 表4 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_description String 请求参数错误。 状态码: 401 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_description String 校验TOKEN失败。 状态码: 403 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_description String 租户无权限操作。 状态码: 404 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_description String 没有找到CBH资源。
  • 响应参数 状态码: 400 表4 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_description String 请求参数错误。 状态码: 401 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_description String 校验TOKEN失败。 状态码: 403 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_description String 租户无权限操作。 状态码: 404 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_description String 没有找到CBH资源。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 Token获取方法详见获取用户Token。 表3 请求Body参数 参数 是否必选 参数类型 描述 security_groups 是 Array of strings 安全组信息。
  • docker daemon配置代理 在一些实验室环境,服务器没有直接连接外网的权限,需要通过网络代理。用户通常会将网络代理直接配置在/etc/environment、/etc/profile之类的配置文件中,这对于大部分操作都是可行的。然而,docker命令却使用不了这些代理。比如docker pull时需要从外网下载镜像,就会出现如下错误: $ docker pull hello-world Unable to find image 'hello-world:latest' locally Pulling repository docker.io/library/hello-world docker: Network timed out while trying to connect to https://index.docker.io/v1/repositories/library/hello-world/images. You may want to check your internet connection or if you are behind a proxy.. 解决方案一:停止docker服务,手动以使用2375端口监听所有网络接口的方式启动docker daemon。 systemctl stop docker.service nohup docker daemon -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock & 解决方案二:编辑配置文件,Ubuntu下是/etc/default/docker,CentOS下是/etc/sysconfig/docker。不过通过修改这两个文件来配置daemon已经是过时的了。不鼓励使用这种方法。 HTTP_PROXY="http://[proxy-addr]:[proxy-port]/" HTTPS_PROXY="https://[proxy-addr]:[proxy-port]/" export HTTP_PROXY HTTPS_PROXY 解决方案三:该方法是持久化的,修改后会一直生效。该方法覆盖了默认的docker.service文件。 为docker服务创建一个内嵌的systemd目录。 mkdir -p /etc/systemd/system/docker.service.d 创建/etc/systemd/system/docker.service.d/http-proxy.conf文件,并添加HTTP_PROXY环境变量。其中[proxy-addr]和[proxy-port]分别改成实际的代理地址和端口。 [Service] Environment="HTTP_PROXY=http://[proxy-addr]:[proxy-port]/" "HTTPS_PROXY=https://[proxy-addr]:[proxy-port]/" 如果还有内部的不需要使用代理来访问的Docker registries,那么需要设置NO_PROXY环境变量: [Service] Environment="HTTP_PROXY=http://[proxy-addr]:[proxy-port]/" "HTTPS_PROXY=https://[proxy-addr]:[proxy-port]/" "NO_PROXY=localhost,127.0.0.1,docker-registry.somecorporation.com" 更新配置。 systemctl daemon-reload 重启Docker服务。 systemctl restart docker