检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
存储管理最佳实践 本文主要为您介绍存储管理相关实践。 场景分类 相关最佳实践 存储扩容实践 存储扩容 存储配置实践 挂载第三方租户的对象存储 通过StorageClass动态创建SFS Turbo子目录 自定义StorageClass 使用延迟绑定的云硬盘(csi-disk-topology)实现跨AZ调度
本地持久卷仅支持以下挂载方式: 通过动态存储卷使用本地持久卷:即动态创建的方式,在创建PVC时通过指定存储类(StorageClass),即可自动创建对象存储和对应的PV对象。 在有状态负载中动态挂载本地持久卷:仅有状态工作负载支持,可以为每一个Pod关联一个独有的PVC及PV,当Pod被重新调度后,
集群之间底层存储接口的差异,申请相应类型的存储资源,相关操作请参考StorageClass更新适配。若您使用对象存储迁移服务OMS完成存储迁移,可参考对接已有对象存储将对象存储桶挂载到应用实例。 通过kubectl连接CCE集群,这里选择创建一个原集群中相同名称StorageClass来完成适配。
scaleTargetRef 指定CronHPA的扩缩容对象,可配置以下字段: apiVersion:CronHPA扩缩容对象的API版本。 kind:CronHPA扩缩容对象的API类型。 name:CronHPA扩缩容对象的名称。 CronHPA支持HPA策略或Deployme
OOMKilling 监听内核日志,检查OOM事件发生并上报 典型场景:容器内进程使用的内存超过了Limt,触发OOM并终止该进程 Warning类事件 监听对象:/dev/kmsg 匹配规则:"Killed process \\d+ (.+) total-vm:\\d+kB, anon-rss:\\d+kB
Controller由社区开源的插件提供,需要在集群中安装插件自行运维;而ELB型的Ingress Controller运行在master节点上,由专门的华为云团队负责运维,无需用户保证。 如果您使用Nginx类型的Ingress,需要在集群中安装nginx-ingress插件。如果您使用ELB型的Ingress,则无需检查此步骤。
节点规格说明 您可以通过本节快速浏览CCE支持的节点规格清单及相关特性,帮助您选择合适的机型规格。 节点类型 说明 节点规格 弹性云服务器-虚拟机 使用KVM/擎天虚拟化技术的弹性云服务器类型,针对不同的应用场景,可以选择多种规格类型,提供不同的计算能力和存储能力。 X86机型:
CSI插件是kubernetes社区推荐的存储插件机制。CCE发布的kubernetes1.15版本及以上版本默认安装CSI插件everest,并用于对接块存储、文件存储、对象存储、极速文件存储等Iaas存储服务。 everest插件包含两部分: everest-csi-controller:提供存储卷的创建、删除、扩容、云盘快照等功能;
nce指以读写方式挂载到单个节点。 配置建议: 根据存储卷类型进行配置。如块存储及本地持久卷存储配置ReadWriteOnce,文件存储及对象存储配置ReadWriteMany 回收策略 当与此PV绑定的PVC被删除以后,PV如何被处理的策略 参数名 取值范围 默认值 是否允许修改
Ingress资源:一组基于域名或路径把请求转发到指定Service实例的访问规则,是Kubernetes的一种资源对象,通过接口服务实现增、删、改、查的操作。 Ingress Controller:请求转发的执行器,用以实时监控资源对象Ingress、Service、Endpoint、Secret(主要是TLS证书
容器网络模型对比 容器网络为集群内Pod分配IP地址并提供网络服务,CCE支持如下几种网络模型,您可在创建集群时进行选择。 云原生网络2.0 VPC网络 容器隧道网络 网络模型对比 表1主要介绍CCE所支持的网络模型,您可根据实际业务需求进行选择。 集群创建成功后,网络模型不可更改,请谨慎选择。
容器 Kubernetes 使用Kubectl命令操作集群 Pod、Label和Namespace Pod:Kubernetes中的最小调度对象 存活探针(Liveness Probe) Label:组织Pod的利器 Namespace:资源分组 Pod的编排与调度 无状态负载(Deployment)
、用户等)。镜像不包含任何动态数据,其内容在构建之后也不会被改变。 容器:镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。 操作步骤 以root用户登录到安装有Docker的服务器上。
用率使负载弹性伸缩。 插件可为Kubernetes提供Metrics API,但默认未开启,若要将其开启,需要创建以下APIService对象: apiVersion: apiregistration.k8s.io/v1 kind: APIService metadata: labels:
使用更高效的Protobuf格式代替JSON格式。默认情况下,Kubernetes返回序列化为JSON的对象,内容类型为application/json,这是API的默认序列化格式。但是,客户端可以使用更有效的Protobuf格式请求这些对象,以获得更好的性能。详情请参见资源的其他表现形式。 调整集群管理规模 如
s Master通过Kubernetes插件向Kubernetes平台发起请求,请Kubernetes根据Pod模板产生对应的Pod对象,Pod对象会向Jenkins Master发起请求,Master连接成功后,就可以在Pod上面执行Job了。 图1 K8s安装Jenkins架构
创建容器工作负载 在本章节中,您将会把应用部署到CCE中。首次使用CCE时,您需要创建一个初始集群,并添加一个节点。 应用镜像上传到容器镜像服务后,部署容器应用的方式都是基本类似的。不同点在于是否需要设置环境变量,是否需要使用云存储,这些也是和业务直接相关。 使用云服务 云容器引
version”。 该问题是由于cce-agent不是最新版本且自动更新未能成功导致,通常由OBS地址失效或组件版本过低引起。 解决方式: 登录异常节点执行以下命令,获取有效的OBS地址,如图中addr地址为正确的OBS地址。 cat /home/paas/upgrade/agentConfig
Prometheus插件平滑迁移实践 由于Prometheus(停止维护)仅支持v1.21及之前的集群版本,若您需要将集群升级至v1.21以上,您需要将停止维护的Prometheus插件迁移至云原生监控插件,以获取后续的技术支持。本文将指导您将已经停止维护的Prometheus插件迁移至云原生监控插件。
用Headless Service解决Pod间互相访问的问题。 apiVersion: v1 kind: Service # 对象类型为Service metadata: name: nginx-headless labels: app: nginx spec: