检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
EIP概述 为方便用户在CCI内直接为Pod关联弹性公网IP,只需在创建Pod时配置annotation,弹性公网IP就会随Pod自动绑定该Pod。自动绑定弹性公网IP分为两种场景: 表1 自动绑定EIP配置annotation 场景 配置annotation参数 场景一:为Pod自动创建并绑定EIP
创建镜像快照 运行容器需要先拉取指定的容器镜像,但因网络和容器镜像大小等因素,镜像拉取耗时往往成了Pod启动的主要耗时。通过镜像快照功能,可以事先将要使用的镜像制作成快照,基于该快照创建Pod,从而避免镜像下载,提升Pod的启动速度。 要了解镜像快照的工作原理,请参阅镜像快照概述。
管理镜像快照 查看镜像快照 创建镜像快照后,您可以查询镜像快照信息。 查询用户创建的所有镜像快照,执行如下命令。 kubectl get imagesnapshot -oyaml 查询单个镜像快照,执行如下命令。 kubectl get imagesnapshot my-imagesnapshot
kubectl配置指南 云容器实例支持使用原生kubectl或定制的kubectl来创建负载等资源,建议优先选用原生kubectl。 下载kubectl 请到kubernetes版本发布页面下载1.19版本对应的kubectl。 Apple M1芯片是darwin-arm64架构,如果使用Apple
创建静态EIPPool 静态EIPPool,即根据用户指定的多个未使用的EIP,静态纳管底层的EIP资源,同时在CCI命名空间下创建相应的EIP对象。如果EIPPool中的EIP已经被NAT或者ELB使用,则会纳管失败。 以下示例创建了一个名为eippool-demo2的静态EI
存活探针(liveness probe) 存活探针 Kubernetes提供了自愈的能力,具体就是能感知到容器崩溃,然后能够重启这个容器。但是有时候例如Java程序内存泄漏了,程序无法正常工作,但是JVM进程却是一直运行的,对于这种应用本身业务出了问题的情况,kubernetes提供了liveness
EIPPool概述 为方便用户在CCI内直接为Pod关联EIP,CCI新增了名为EIPPool的自定义资源对象,通过EIPPool资源对象,用户可以为Pod自动绑定EIP。EIPPool对象支持两种EIP资源管理方式:动态管理EIP资源(EIP资源由CCI自动创建)、静态管理EIP资源(EIP资源由用户提前创建)。
使用EIPPool 在命名空间下创建完成EIPPool对象后,用户可在Pod模板中添加指定的Annotation: yangtse.io/eip-pool 使用对应EIPPool中的EIP资源,指定后,Pod在创建时将会自动从EIPPool中获取一个可用的EIP并绑定至Pod。
ConfigMap ConfigMap是一种用于存储应用所需配置信息的资源类型,用于保存配置数据的键值对,可以用来保存单个属性,也可以用来保存配置文件。 通过ConfigMap可以方便地做到配置解耦,使得不同环境有不同的配置。相比环境变量,Pod中引用的ConfigMap可以做到
为Pod动态创建EIP EIP随Pod创建 创建Pod时,填写pod-with-eip的annotation后,EIP会随Pod自动创建并绑定至该Pod。 以下示例创建一个名为nginx的无状态负载,EIP将随Pod自动创建并绑定至Pod。具体字段含义见表1。 创建独占带宽类型的
对容器进行初始化操作 概念 Init-Containers,即初始化容器,顾名思义容器启动的时候,会先启动可一个或多个容器,如果有多个,那么这几个Init Container按照定义的顺序依次执行,只有所有的Init Container执行完后,主容器才会启动。由于一个Pod里的存储卷是共享的,所以Init
为Pod绑定已有EIP 为Pod指定EIP的ID 创建Pod时,填写yangtse.io/eip-id的annotation后,EIP会随Pod自动完成绑定。 以下示例创建一个名为nginx的实例数为1的无状态负载,EIP将随Pod自动绑定至Pod。具体字段含义见表1。 apiVersion:
cci-iam-authenticator使用参考 cci-iam-authenticator作为k8s client端的认证插件,主要提供了generate-kubeconfig和token两个子命令。 A tool to authenticate to CCI using HuaweiCloud
Ingress 上一节中讲了创建LoadBalancer类型的Service,使用ELB实例从外部访问Pod。 但是Service是基于四层TCP和UDP协议转发的,Ingress可以基于七层的HTTP和HTTPS协议转发,可以通过域名和路径做到更细粒度的划分,如下图所示。 图1
网络访问场景 在前面两节中介绍了如何通过Service和Ingress访问Pod,本节总结一下云容器实例中Pod的访问场景,如图1所示,访问负载可以分为如下几种场景,每种场景下可以使用Service和Ingress来解决访问问题。 同一个命名空间中的负载相互访问:只需创建Serv
创建动态EIPPool 动态EIPPool,即根据用户在EIPPool中填写的配置,动态创建底层的EIP资源,同时在CCI命名空间下创建相应的EIP对象。 以下示例创建了一个名为eippool-demo1的动态EIPPool,具体字段含义见表1。 动态创建独占带宽类型的EIPPool,无需指定带宽ID,示例如下:
Secret Secret是一种加密存储的资源对象,您可以将认证信息、证书、私钥等保存在密钥中,从而解决了密码、token、密钥等敏感数据的配置问题,而不需要把这些敏感数据暴露到镜像或者Pod Spec中,只需在容器启动时以环境变量等方式加载到容器中。 Secret与Config
业务探针(Readiness probe) 一个新Pod创建后,Service就能立即选择到它,并会把请求转发给Pod,那问题就来了,通常一个Pod启动是需要时间的,如果Pod还没准备好(可能需要时间来加载配置或数据,或者可能需要执行 一个预热程序之类),这时把请求转给Pod的话,Pod也无法处理,造成请求失败。
使用client-go访问CCI的CRD资源Network 您可以前往开发体验馆Codelabs / Namespace生命周期代码示例(Go)下载相关代码,并在线调试。 初始化项目 创建项目examples.com/cci-examples。 项目依赖k8s.io/client-go、k8s
为用户/用户组授权命名空间权限 本章节通过简单的命名空间授权方法,将CCI服务的用户和用户组授予操作不同命名空间资源的权限,从而使用户和用户组拥有命名空间的操作权限。设置流程如示例流程所示。 配置说明 您需要拥有一个主账号,仅主账号、授予了CCIFullAccess权限的用户或拥