使用控制台创建Wordpress
云容器实例提供无服务器容器引擎,让您不需要管理集群和服务器,只需要三步简单配置,即可畅享容器的敏捷和高性能。云容器实例支持创建无状态负载(Deployment),并基于Kubernetes的负载模型增强了容器安全隔离、负载快速部署、弹性负载均衡、弹性扩缩容等重要能力。
创建命名空间
- 登录云容器实例 CCI2.0控制台。
- 左侧导航栏中选择“命名空间”。
- 进入命名空间页面,单击右侧“创建命名空间”。
- 填写命名空间名称。
- 命名空间名称在云容器实例中需全局唯一。
- 请输入1到63个字符的字符串,可以包含小写英文字母、数字和中划线(-),并以小写英文字母或数字开头,小写英文字母或数字结尾。
- 监控配置(可选)。
参数
说明
对接AOM(可选)
开启后可选择对接AOM实例。
- 网络平面配置。
表1 网络平面配置 参数
说明
启用IPv6
开启后支持ipv4/ipv6双栈协议网络。
虚拟私有云
选择云容器实例所在的虚拟私有云VPC,如果没有可选项可以单击右侧“新建虚拟私有云”创建。创建后不可修改。
建议使用网段:10.0.0.0/8~22,172.16.0.0/12~22,192.168.0.0/16~22。
须知:- 此处VPC和子网的网段不能为10.247.0.0/16,10.247.0.0/16是云容器实例预留给负载访问的网段。如果您使用此网段,后续可能会造成IP冲突,导致负载无法创建或服务不可用;如果您不需要通过负载访问,而是直接访问Pod,则可以使用此网段。
- 命名空间创建完成后,在“命名空间 > 子网”中可查看到VPC和子网信息。
子网
选择子网,如果没有可选项可以单击右侧“新建子网”创建。创建后子网不可修改。
- 创建的namespace会在设置的子网中预热部分IP,默认个数为10个。
- 在高级设置中可以设置预热的个数。
- 创建namespace后,由于预热了部分IP,会影响设置的subnet和VPC的删除,需要删除namespace之后才能正常删除对应的subnet和VPC。
说明:您需要关注子网的可用IP数,确保有足够数量的可用IP,如果没有可用IP,则会导致负载创建失败。
安全组
选择已有安全组作为该命名空间下安全组,如果没有可选项可以单击右侧“创建安全组”创建。创建后不可修改。
- 高级设置(可选)。
每个命名空间下都提供了一个IP池,申请IP需要一段时间,如果需要快速创建负载,减少IP的申请时间,可通过自定义资源池大小来实现。
例如,某业务线日常的负载数为200,当达到流量高峰时,IP资源池会自动扩容,瞬间将IP资源池扩容到65535(IP资源池大小),同时会在回收间隔23h(IP资源池回收间隔)之后,进行回收超过资源池大小的部分即(65535-200=65335)个。
表2 高级设置(可选) 参数
说明
预热 IP 资源池大小(个)
- 为每个命名空间预热一个 IP 池,用来加速容器组创建。
- 预热IP资源池的大小不能超过65535个。
- 使用通用型pod规格时,建议根据业务配置合理的预热IP资源池大小,以加快负载启动速度。
- 请合理配置预热IP数量,如配置IP数量过大,可能出现预热IP资源池大于子网可用IP数,导致子网IP被耗尽,进而影响用户使用其他服务。
预热 IP 资源池回收间隔(h)
IP 资源池弹性扩容出来的空闲 IP 资源,在一定时间内可进行回收。
说明:网卡回收机制:
- 回收时间要求:根据network上配置的 yangtse.io/warm-pool-recycle-interval(单位小时)时间,控制该网卡是否能够完成回收。如 yangtse.io/warm-pool-recycle-interval 配置为 24,则回收的网卡必须已经申请了超过24小时后才会被回收。
- 回收速率:内部维持一个合理的速率,按照每次最多50个网卡的速率进行回收,避免回收过快或频繁回收导致网卡的重复创建和删除动作。
- 单击“确定”。
创建完成后,可以在命名空间详情中看到VPC、子网等信息。
使用YAML创建无状态负载
- 登录云容器实例 CCI2.0控制台,左侧导航栏中选择“负载管理”,选择无状态负载,单击“YAML创建”。
- 添加基本信息,yaml示例如下:
kind: Deployment apiVersion: cci/v2 metadata: name: wordpress spec: replicas: 1 selector: matchLabels: app: wordpress template: metadata: labels: app: wordpress spec: containers: - name: wordpress image: wordpress:latest ports: - containerPort: 80 resources: limits: cpu: 500m memory: 1Gi requests: cpu: 500m memory: 1Gi dnsPolicy: Default
- 创建Load Balancer类型service,并且使用的ELB包含公网IP,详情见公网访问,yaml示例如下:
kind: Service apiVersion: cci/v2 metadata: name: service-wordpress annotations: kubernetes.io/elb.class: elb kubernetes.io/elb.id: '${elb_id}' spec: ports: - name: service-wordpress-port protocol: TCP port: 80 targetPort: 80 selector: app: wordpress type: LoadBalancer
- service创建完成后,您可通过浏览器访问地址中的公网IP。