检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
Pod日志采集 本章节将介绍在Pod内进行日志采集,允许用户通过配置容器内自定义路径下的日志文件来采集日志,并通过自定义策略处理,上报到用户kafka日志中心。 资源限制 建议您为Fluent Bit预留50MB的内存。 约束与限制 当前不支持容器中软链路径的日志采集。 当前不支持容器标准输出采集上报到kafka。
使用kubectl(推荐) kubectl配置指南 cci-iam-authenticator使用参考
project-name PROJECT_NAME 项目名,详情请参见https://support.huaweicloud.com/usermanual-ca/ca_01_0001.html。 project-id PROJECT_ID 项目ID,详情请参见https://support
使用镜像快照 使用镜像快照创建Pod,支持以下两种方式: 自动匹配 自动匹配将从所有用户创建的可用的镜像快照中选择最优的镜像。按以下顺序进行匹配: a. 镜像匹配度:优先选择匹配度高的镜像快照,匹配度指的是Pod和镜像快照两者在镜像上的匹配情况。 b. 创建时间:优先选择创建时间更新的镜像快照。
对容器进行初始化操作 概念 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:
环境变量 环境变量是容器运行环境中设定的一个变量。 环境变量为应用提供极大的灵活性,您可以在应用程序中使用环境变量,在创建容器时为环境变量赋值,容器运行时读取环境变量的值,从而做到灵活的配置,而不是每次都重新编写应用程序制作镜像。 另外,您还可以使用ConfigMap和Secre
EIPPool EIPPool概述 创建EIPPool 使用EIPPool 管理EIPPool
Pod资源监控指标 CCI支持Pod资源基础监控能力,提供CPU、内存、磁盘、网络等多种监控指标,满足对Pod资源的基本监控需求。 Pod内置系统agent,默认会以http服务的形式提供Pod和容器的监控指标。agent集成到Pod里面,会占用Pod内资源,建议您预留30MB的内存。
致probe经常失败。 另外failureThreshold可以设置多次循环探测,这样在实际应用中健康检查的程序就不需要多次循环,这一点在开发应用时需要注意。 配置有效的Liveness Probe liveness probe应该检查什么 一个好的liveness probe应
生命周期管理 云容器实例基于Kubernetes,提供了容器生命周期钩子,在容器的生命周期的特定阶段执行调用,比如容器在停止前希望执行某项操作,就可以注册相应的钩子函数。目前提供的生命周期钩子函数如下所示。 启动后处理(PostStart):负载启动后触发。 停止前处理(PreStop):负载停止前触发。
创建EIPPool 创建动态EIPPool 创建静态EIPPool 父主题: EIPPool
使用EIPPool 在命名空间下创建完成EIPPool对象后,用户可在Pod模板中添加指定的Annotation: yangtse.io/eip-pool 使用对应EIPPool中的EIP资源,指定后,Pod在创建时将会自动从EIPPool中获取一个可用的EIP并绑定至Pod。
Ingress 上一节中讲了创建LoadBalancer类型的Service,使用ELB实例从外部访问Pod。 但是Service是基于四层TCP和UDP协议转发的,Ingress可以基于七层的HTTP和HTTPS协议转发,可以通过域名和路径做到更细粒度的划分,如下图所示。 图1
网络访问场景 在前面两节中介绍了如何通过Service和Ingress访问Pod,本节总结一下云容器实例中Pod的访问场景,如图1所示,访问负载可以分为如下几种场景,每种场景下可以使用Service和Ingress来解决访问问题。 同一个命名空间中的负载相互访问:只需创建Serv
为Pod动态创建EIP EIP随Pod创建 创建Pod时,填写pod-with-eip的annotation后,EIP会随Pod自动创建并绑定至该Pod。 以下示例创建一个名为nginx的无状态负载,EIP将随Pod自动创建并绑定至Pod。具体字段含义见表1。 创建独占带宽类型的
使用Job和CronJob创建任务负载 任务负载是负责批量处理短暂的一次性任务(short lived one-off tasks),即仅执行一次的任务,它保证批处理任务的一个或多个 Pod 成功结束。 短时任务(Job):是Kubernetes用来控制批处理型任务的资源对象。批
管理EIPPool 更新EIPPool 考虑到用户实际场景,EIPPool对象当前只允许用户调整EIP的数量,即对EIPPool进行扩缩容。用户如果需要调整EIP其他参数,可新建EIPPool对象后在负载配置中替换即可。 EIPPool缩容时,如果EIP资源被占用,则不会删除对应的EIP,直到占用解除。
创建动态EIPPool 动态EIPPool,即根据用户在EIPPool中填写的配置,动态创建底层的EIP资源,同时在CCI命名空间下创建相应的EIP对象。 以下示例创建了一个名为eippool-demo1的动态EIPPool,具体字段含义见表1。 动态创建独占带宽类型的EIPPool,无需指定带宽ID,示例如下:
业务探针(Readiness probe) 一个新Pod创建后,Service就能立即选择到它,并会把请求转发给Pod,那问题就来了,通常一个Pod启动是需要时间的,如果Pod还没准备好(可能需要时间来加载配置或数据,或者可能需要执行 一个预热程序之类),这时把请求转给Pod的话,Pod也无法处理,造成请求失败。