检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
分布式的场景,要求每个Pod都有自己单独的状态时,比如分布式数据库,每个Pod要求有单独的存储,这时Deployment无法满足业务需求。 分布式有状态应用的特点主要是应用中每个部分的角色不同(即分工不同),比如数据库有主备、Pod之间有依赖,在Kubernetes中部署有状态应用对Pod有如下要求:
CCE是否支持nginx-ingress? nginx-ingress简介 nginx-ingress是比较热门的ingress-controller,作为反向代理将外部流量导入到集群内部,将Kubernetes内部的Service暴露给外部,在Ingress对象中通过域名匹配Service,这样就可以直接通过域名访问到集群内部的服务。
- 'mysql < /backup/backup.sql' includedNamespaces: - nginx - mysql namespaceMapping: nginx: nginx-another mysql: mysql-another
安装模板包后的运行结果。一个模板包通常可以在一个集群中安装多次,每次安装都会创建一个新的实例。以MySQL模板包为例,如果您想在集群中运行两个数据库,可以安装该模板包两次,每一个数据库都会拥有自己的release 和release name。 更多关于Helm命令的使用方法请参见使用Helm。
com/cloud-develop/mynginx:v1 数据库与存储迁移(按需) 您可根据实际生产需求,选择是否使用云数据库服务RDS和对象存储服务OBS。完成迁移后,新建CCE集群中的应用需要重新配置数据库与存储。 数据库迁移 若您的数据库采用集群外的非容器化部署方案,且需将数据库同步搬迁上云,可以使用数据复制服务
集群资源数据量过大会降低etcd的性能,包括数据读取和写入延迟。除了总数据量以外,单类资源的数据量过大也会导致客户端全量查询该资源时控制平面消耗大量资源。因此,建议控制etcd的数据量及单类资源的数据量,如下表。 表1 不同集群规模建议etcd数据量上限 集群规模 50节点 200节点 1000节点 2000节点
kustomize build example -o example.yaml 配置Kubeflow所需存储资源。 katib-mysql mysql-pv-claim minio-pv-claim authservice-pvc 由于Kubeflow在创建时需要配置一些存储资源
已购买一个ECS或RDS for MySQL,并且ECS或RDS for MySQL与集群位于同一个区域、不同VPC内,具体操作步骤请参见自定义购买ECS和购买RDS for MySQL实例。 从Pod访问不同的云服务 以在Pod中访问不同VPC网络的ECS和RDS for MySQL为例,介绍Pod如何实现跨VPC通信。
创建的存储卷挂载到容器。 专属存储性能规格 存储池性能的主要指标有IO读写延时、IOPS和吞吐量。 IOPS:每秒进行读写的操作次数。 吞吐量:每秒成功传送的数据量,即读取和写入的数据量。 IO读写延时:连续两次进行读写操作所需的最小时间间隔。 表1 专属存储性能规格 参数 高IO
计算节点的CPU和内存用量评估值。 超卖量的计算算法:节点资源超卖量 = (节点资源分配量 - 节点资源用量评估值) * 超卖比例 超卖量会周期性更新到节点的annotation中,以便Volcano scheduler基于各个节点的超卖量进行Pod调度。 前提条件 已启用动态资源超卖。具体操作请参见动态资源超卖。
使用kubectl部署带对象存储卷的无状态工作负载 操作场景 对象存储卷创建或导入CCE后,可以在工作负载中挂载对象存储卷。 约束与限制 如下配置示例适用于Kubernetes 1.13及以下版本的集群。 操作步骤 请参见通过kubectl连接集群,使用kubectl连接集群。
使用kubectl部署带极速文件存储卷的无状态工作负载 操作场景 极速文件存储创建或导入CCE后,可以在工作负载中挂载极速文件存储。 约束与限制 如下配置示例适用于Kubernetes 1.13及以下版本的集群。 操作步骤 请参见通过kubectl连接集群,使用kubectl连接集群。
使用kubectl部署带云硬盘存储卷的工作负载 操作场景 云硬盘创建或导入CCE后,可以在工作负载中挂载云硬盘。 云硬盘不支持跨可用区挂载。在挂载前,您可以使用 kubectl get pvc 命令查询当前集群所在分区下可用PVC。 约束与限制 如下配置示例适用于Kubernetes
使用kubectl部署带文件存储卷的无状态工作负载 操作场景 文件存储卷创建或导入CCE后,可以在工作负载中挂载文件存储卷。 约束与限制 如下配置示例适用于Kubernetes 1.13及以下版本的集群。 操作步骤 请参见通过kubectl连接集群,使用kubectl连接集群。
发现使用域名的方式,注册的服务的域名为:服务名.命名空间.svc.cluster.local 。这种使用有限制,注册中心部署必须容器化部署。 方案二:容器部署使用主机网络部署,然后亲和到集群的某一个节点,这样可以明确知道容器的服务地址(就是节点的地址),注册的地址为:服务所在节点
所有的metrics都可以设置任意的多维标签。 数据模型更随意,不需要刻意设置为以点分隔的字符串。 可以对数据模型进行聚合,切割和切片操作。 支持双精度浮点类型,标签可以设为全unicode。 灵活而强大的查询语句(PromQL):在同一个查询语句,可以对多个metrics进行乘法、加法、连接、取分数位等操作。 易于管理:Prometheus
Ingress控制器插件配置ELB证书 NGINX Ingress控制器插件上支持使用以下方式配置Ingress证书: 密钥证书:需要将证书导入至密钥(Secret)中,并为NGINX Ingress控制器插件指定服务器默认证书(default-ssl-certificate)。
配置项导入:选择一个配置项,将配置项中所有键值都导入为环境变量。 配置项键值导入:将配置项中某个键的值导入作为某个环境变量的值。 变量名称:工作负载中的环境变量名称,可自定义,默认为配置项中选择的键名。 变量/变量引用:选择一个配置项及需要导入的键名,将其对应的值导入为工作负载环境变量。
Service直接访问Pod的真实IP地址,实现Pod间互相访问。 Headless Service一般结合StatefulSet来部署有状态的应用,比如Redis集群、MySQL集群等。 父主题: 其他
变量”。 密钥导入:选择一个密钥,将密钥中所有键值都导入为环境变量。 密钥项键值导入:将密钥中某个键的值导入作为某个环境变量的值。 变量名称:工作负载中的环境变量名称,可自定义,默认为密钥中选择的键名。 变量/变量引用:选择一个密钥及需要导入的键名,将其对应的值导入为工作负载环境变量。