容器服务 Kubernetes 版(CCK),提供高性能可伸缩的容器应用管理能力,支持Kubernetes社区原生应用和工具。简化集群的搭建和扩容等运维类工作,整合首云虚拟化(裸金属)、存储、网络和安全能力,打造云端的容器化应用运行环境
目前开放节点:北京A/B/C/E/H,广州A,上海A,无锡A,香港A,台北A,达拉斯A/G/J,洛杉矶A,东京A,首尔A,新加坡A,法兰克福A/B
每个集群最多200个节点
架构介绍:
CCK容器(CDS Container Kubernetes),是基于k8s及容器技术的企业级应用容器平台, 整合首都在线的计算,存储,网络等底层资源,集成了各种监控服务,报警服务,日志服务etcd备份服务等,用户通过 web 界面或 yaml 文件部署自己的应用,同时还支持第三方镜像。提供高性能可收缩的容器应用管理能力,简化集群的搭建及扩容等工作。
以下介绍首都在线CCK容器的计费情况。
产品名称 | 开通类型 | 产品说明 | 计费方式 | 计费区域 | 说明 |
计算产品 | 必须 | 用于为CCK集群创建节点 | 按需计费 | 容器内部 | - |
存储产品 | 必须 | 用于为CCK集群创建节点 | 按需计费 | 容器内部 | - |
VDC(虚拟数据中心) | 必须 | 用于部署容器 |
按需计费 包年包月 |
独立计费 | 创建CCK容器集群前需要创建好 |
负载均衡 | 必须 | 用于CCK集群出入网 | 按需计费 | 独立计费 | 创建CCK容器集群时新建 |
ECI弹性容器实例 | 建议项 | 用于为CCK集群创建节点 | 按需计费 | 容器内部 | - |
超高性能SNAT网关 | 增值服务 | 用于CCK集群出网 | 按需计费 | 容器内部 | 面向有超大流量和并发出网需求的客户 |
以下将详细描述CCK容器各产品的计费方案。
1、CCK容器计算产品
CCK容器计算产品 中国大陆 |
vcpu | 内存(GB) | 按需价格(元/每月) | 支持节点 |
密集计算型节点 | 8 | 8 | 680.00 |
北京-可用区B 北京-可用区C 北京-可用区A 北京-可用区H 北京-可用区Y 广州-可用区A 无锡-可用区A 上海-可用区C 上海-可用区A |
16 | 16 | 1360.00 | ||
32 | 32 | 2721.00 | ||
计算型节点 | 2 | 4 | 187.00 | |
8 | 16 | 748.00 | ||
16 | 32 | 1496.00 | ||
32 | 64 | 2992.00 | ||
通用型节点 | 8 | 32 | 960.00 | |
16 | 64 | 1920.00 | ||
32 | 128 | 3840.00 | ||
内存型节点 | 8 | 64 | 1272.00 | |
16 | 128 | 2544.00 |
CCK容器计算产品 海外 |
vcpu | 内存(GB) | 按需价格(元/每月) | 支持节点 |
密集计算型节点 | 8 | 8 | 934.00 |
首尔-可用区A 新加坡-可用区A 新加坡-可用区B 新加坡-可用区C 新加坡-可用区D 中国香港-可用区A 中国台湾-可用区A 东京-可用区A 印度-孟买A 达拉斯-可用区A 达拉斯-可用区J 弗吉尼亚-可用区A 法兰克福-可用区A 法兰克福-可用区B 阿姆斯特丹-可用区A |
16 | 16 | 1868.00 | ||
32 | 32 | 3735.00 | ||
计算型节点 | 2 | 4 | 244.43 | |
8 | 16 | 977.72 | ||
16 | 32 | 1955.44 | ||
32 | 64 | 3910.88 | ||
通用型节点 | 8 | 32 | 1203.40 | |
16 | 64 | 2406.80 | ||
32 | 128 | 4813.60 | ||
内存型节点 | 8 | 64 | 1558.36 | |
16 | 128 | 3116.72 |
2、CCK容器存储产品
CCK容器存储产品 | 规格 |
中国大陆 按需价格 (元/GB/月) |
海外 按需价格 (元/GB/月) |
数据盘(配合节点配置) | 性能型 | 0.35 | 0.35 |
块存储 (100GB起售) |
性能型(IOPS3000) | 0.30 | 0.42 |
高IO型(IOPS5000) | 1.65 | 1.86 | |
高IO型(IOPS7500) | 2.65 | 2.86 | |
高IO型(IOPS10000) | 3.65 | 4.86 | |
NAS存储 (500GB起售) |
性能型(IOPS3000) | 0.30 | 0.42 |
高IO型(IOPS5000) | 1.65 | 1.86 | |
高IO型(IOPS7500) | 2.65 | 2.86 | |
高IO型(IOPS10000) | 3.65 | 4.86 |
3、超高性能SNAT网关
超高性能SNAT网关:是指在首都在线CCK容器产品架构下的SNAT网关产品。底层实现是基于DPDK+LVS实现的负载均衡器,为客户提供高达400万连接数的出网网关,适用于有超大流量和并发出网需求的客户。
CCK容器超高性能SNAT网关 | 规格 | 最大连接数(万) | 吞吐量(Gbps) | 按需价格(元/个/天) | 支持节点 |
超高性能SNAT网关 | 小型 | 100 | SNAT网关出网最大带宽可达到8Gb/s | 102.64 |
新加坡A 新加坡C 达拉斯J 法兰克福B 孟买A |
中型 | 200 | SNAT网关出网最大带宽可达到16Gb/s | 205.28 | ||
大型 | 400 | SNAT网关出网最大带宽可达到32Gb/s | 410.56 |
4、 ECI弹性容器实例
ECI弹性容器实例:Elastic Container Instance,是借助于云平台构建的 Serverless 容器运行服务,提供免运维和快速启动容器组(Pod)运行环境。使用 ECI 部署容器时,客户无需购买和管理底层服务器,也无需关心运行过程中容量规划,只需要指定容器镜像,即可快速获得容器服务,并仅为容器实际运行消耗的资源付费。同时,可无缝使用首都在线公有云的网络、存储等其他服务。
客户可以通过控制台或 OpenAPI 快速部署容器应用,并对创建的容器组进行管理;也可以通过虚拟节点(Virtual Kubelet)将ECI 接入到容器集群中,从而通过标准的 Kubernetes API 来进行ECI容器组的管理。
注:ECI弹性容器实例创建成功即开始计费,按秒计费,按天扣费,删除成功后停止计费,若费用不足1分按1分扣。临时存储提供20G免费额度。一期只提供20G临时存储,临时存储不支持新增容量,容器实例也不支持新加持久性存储。
ECI弹性容器实例 | 规格 | 列表价格(元/秒) | 按需价格(元/月) | 支持节点 |
密集计算型 | 2C2G | 0.000110260 | 285.79 |
中国大陆: 北京-可用区B 北京-可用区C 上海-可用区A 亚太地区: 首尔-可用区A 新加坡-可用区A 新加坡-可用区C 新加坡-可用区D 中国香港-可用区A 中国台湾-可用区A 东京-可用区A 北美地区: 达拉斯-可用区A 达拉斯-可用区J 弗吉尼亚-可用区A 欧洲地区: 法兰克福-可用区A 法兰克福-可用区B |
4C4G | 0.000220520 | 571.59 | ||
8C8G | 0.000441040 | 1,143.18 | ||
12C12G | 0.000661560 | 1,714.76 | ||
16C16G | 0.000882080 | 2,286.35 | ||
计算型 | 0.25C0.5G | 0.000015315 | 39.70 | |
0.5C1G | 0.000030630 | 79.39 | ||
1C2G | 0.000061260 | 158.79 | ||
2C4G | 0.000122520 | 317.57 | ||
4C8G | 0.000245040 | 635.14 | ||
8C16G | 0.000490080 | 1,270.29 | ||
12C24G | 0.000735120 | 1,905.43 | ||
16C32G | 0.000980160 | 2,540.57 | ||
32C64G | 0.001960320 | 5,081.15 | ||
通用型 | 0.25C1G | 0.000018380 | 47.64 | |
0.5C2G | 0.000036760 | 95.28 | ||
1C4G | 0.000073520 | 190.56 | ||
2C8G | 0.000147040 | 381.13 | ||
4C16G | 0.000294080 | 762.26 | ||
8C32G | 0.000588160 | 1,524.51 | ||
12C48G | 0.000882240 | 2,286.77 | ||
16C64G | 0.001176320 | 3,049.02 | ||
32C128G | 0.002352640 | 6,098.04 | ||
64C128G | 0.004705280 | 12,196.09 | ||
内存型 | 1C8G | 0.000098040 | 254.12 | |
2C16G | 0.000196080 | 508.24 | ||
4C32G | 0.000392160 | 1,016.48 | ||
8C64G | 0.000784320 | 2,032.96 | ||
64C256G | 0.006274560 | 16,263.66 |
首云支持
集群管理操作,包括集群创建、删除和控制台访问集群
需通过首云集群管理页面进行上述操作
首云支持
集群节点的手动管理,包括节点的增加、删除和设置节点是否可调度操作
需通过首云集群管理页面进行上述操作
首云提供了NAS文件存储服务,并且针对Kubernetes集群提供了自研的存储驱动的支持
此时我们创建的块存储仅是一块磁盘,需要我们进入挂载节点的控制台使用命令手动格式化、分区、创建文件系统,并挂载到指定的本地目录;
说明:创建存储类sc时,选择块存储存储类型,控制台会自动创建一块块存储并为该块存储建立文件系统
点击导入yaml文件以下yaml文件安装驱动:
apiVersion v1 kind ServiceAccount metadata name cds-csi-sa namespace kube-system --- apiVersion rbac.authorization.k8s.io/v1 kind ClusterRole metadata name cds-csi-cluster-role rules apiGroups "" resources secrets verbs get list apiGroups "" resources persistentvolumes verbs get list watch update create delete apiGroups "" resources persistentvolumeclaims verbs get list watch update apiGroups storage.k8s.io resources storageclasses verbs get list watch apiGroups storage.k8s.io resources csinodes verbs get list watch apiGroups "" resources events verbs get list watch create update patch apiGroups "" resources endpoints verbs get watch list delete update create apiGroups "" resources configmaps verbs get watch list delete update create apiGroups "" resources nodes verbs get list watch apiGroups csi.storage.k8s.io resources csinodeinfos verbs get list watch apiGroups storage.k8s.io resources volumeattachments verbs get list watch update apiGroups snapshot.storage.k8s.io resources volumesnapshotclasses verbs get list watch apiGroups snapshot.storage.k8s.io resources volumesnapshotcontents verbs create get list watch update delete apiGroups snapshot.storage.k8s.io resources volumesnapshots verbs get list watch update apiGroups apiextensions.k8s.io resources customresourcedefinitions verbs create list watch delete apiGroups coordination.k8s.io resources leases verbs get watch list delete update create --- apiVersion rbac.authorization.k8s.io/v1 kind ClusterRoleBinding metadata name cds-csi-cluster-role-bind roleRef apiGroup rbac.authorization.k8s.io kind ClusterRole name cds-csi-cluster-role subjects kind ServiceAccount name cds-csi-sa namespace kube-system --- apiVersion v1 kind Service metadata labels name csi-provisioner name csi-provisioner namespace kube-system spec ports name healthz port9808 selector type csi-provisioner --- apiVersion apps/v1 kind StatefulSet metadata name block-csi-cds-controller namespace kube-system spec replicas1 selector matchLabels app block-csi-cds-controller serviceName csi-provisioner template metadata labels app block-csi-cds-controller type csi-provisioner spec containers args --endpoint=$(CSI_ENDPOINT) --v=5 --driver=block.csi.cds.net env name CSI_ENDPOINT value unix //socketDir/csi.sock name ACCESS_KEY_ID valueFrom secretKeyRef key access_key_id name cck-secrets name ACCESS_KEY_SECRET valueFrom secretKeyRef key access_key_secret name cck-secrets name CDS_OVERSEA valueFrom configMapKeyRef key oversea name cds-properties image capitalonline/cds-csi-driver v2.0.0 imagePullPolicy Always livenessProbe exec command sh -c ps -ef | grep cds-csi-driver | grep block.csi.cds.net | grep -v grep failureThreshold8 initialDelaySeconds15 periodSeconds10 successThreshold1 timeoutSeconds15 name csi-controller-server resources limits cpu 100m memory 100Mi requests cpu 100m memory 100Mi securityContext privilegedtrue volumeMounts mountPath /var/log/ name host-log mountPath /socketDir/ name socket-dir mountPath /host/etc name etc args --csi-address=$(ADDRESS) --v=5 env name ADDRESS value /socketDir/csi.sock image capitalonline/csi-provisioner v1.5.0 name csi-provisioner volumeMounts mountPath /socketDir name socket-dir args --csi-address=/csi/csi.sock image capitalonline/csi-livenessprobe v2.0.0 name liveness-probe volumeMounts mountPath /csi name socket-dir args --csi-address=$(ADDRESS) --v=5 --leader-election=true --leader-election-type=leases env name ADDRESS value /var/lib/csi/sockets/pluginproxy/csi.sock image quay.io/k8scsi/csi-attacher v1.2.0 name csi-attacher volumeMounts mountPath /var/lib/csi/sockets/pluginproxy/ name socket-dir nodeSelector beta.kubernetes.io/os linux priorityClassName system-cluster-critical serviceAccount cds-csi-sa tolerations key CriticalAddonsOnly operator Exists key null operator Exists volumes emptyDir name socket-dir hostPath path /var/log/ name host-log hostPath path /etc name etc updateStrategy type RollingUpdate --- apiVersion apps/v1 kind DaemonSet metadata name block-csi-cds-node namespace kube-system spec selector matchLabels app block-csi-cds-node template metadata labels app block-csi-cds-node spec containers args --endpoint=$(CSI_ENDPOINT) --v=5 --driver=block.csi.cds.net env name CSI_ENDPOINT value unix //var/lib/kubelet/plugins/block.csi.cds.net/csi.sock name ACCESS_KEY_ID valueFrom secretKeyRef key access_key_id name cck-secrets name ACCESS_KEY_SECRET valueFrom secretKeyRef key access_key_secret name cck-secrets name CDS_OVERSEA valueFrom configMapKeyRef key oversea name cds-properties image capitalonline/cds-csi-driver v2.0.0 imagePullPolicy Always name block-csi-node-server securityContext allowPrivilegeEscalationtrue capabilities add SYS_ADMIN privilegedtrue volumeMounts mountPath /var/lib/kubelet/ mountPropagation Bidirectional name kubelet-dir mountPath /var/log/ name host-log mountPath /host/etc name etc mountPath /proc name node-proc mountPath /dev name host-dev args --v=5 --csi-address=$(ADDRESS) --kubelet-registration-path=$(DRIVER_REG_SOCK_PATH) env name ADDRESS value /var/lib/kubelet/plugins/block.csi.cds.net/csi.sock name DRIVER_REG_SOCK_PATH value /var/lib/kubelet/plugins/block.csi.cds.net/csi.sock image capitalonline/csi-node-driver-registrar v1.2.0 imagePullPolicy Always lifecycle preStop exec command /bin/sh -c rm -rf /registration/block.csi.cds.net /registration/block.csi.cds.net-reg.sock name block-driver-registrar volumeMounts mountPath /var/lib/kubelet/ name kubelet-dir mountPath /registration/ name registration-dir args --csi-address=/var/lib/kubelet/plugins/block.csi.cds.net/csi.sock --health-port=9810 image capitalonline/csi-livenessprobe v2.0.0 name block-liveness-probe volumeMounts mountPath /var/lib/kubelet/ name kubelet-dir hostNetworktrue hostPIDtrue priorityClassName system-node-critical serviceAccount cds-csi-sa tolerations operator Exists volumes hostPath path /var/lib/kubelet type Directory name kubelet-dir hostPath path /var/lib/kubelet/plugins_registry type DirectoryOrCreate name registration-dir hostPath path /var/log/ name host-log hostPath path /etc name etc hostPath path /proc name node-proc hostPath path /dev name host-dev updateStrategy type RollingUpdate --- apiVersion storage.k8s.io/v1beta1 kind CSIDriver metadata name block.csi.cds.net spec attachRequiredtrue
755
或777
true
,则归档相关数据,归档名称为archived-原pv使用目录名称-时间戳
; 如果为false
,则直接删除该pv所使用的数据
/nfsshare
755
或777
说明:当手动创建的块存储被挂载到一个本地目录后,其创建存储卷就相当于创建本地存储卷
755
或777
cds-local-default-sc
的 local-storage StorageClass 提供延迟绑定功能,建议使用 local pv 时,直接使用默认的 local-storage StorageClass 即可,无需自行额外创建。
首云支持创建无状态(Deployment)和有状态(StatefulSet)应用,并提供相应的容器组管理
创建一个 Kubernetes 集群。详情请参见集群管理->创建集群。
请求类型 | 配置说明 |
HTTP/HTTPS |
即向容器发送一个 HTTPget 请求,支持的参数包括:
|
TCP |
即向容器发送一个 TCP Socket,kubelet 将尝试在指定端口上打开容器的套接字。 如果可以建立连接,容器被认为是健康的,如果不能就认为是失败的。支持的参数包括:
|
命令行 |
通过在容器中执行探针检测命令,来检测容器的健康情况。支持的参数包括:
|
注:若要启用水平伸缩,您必须为容器设置所需资源,否则容器自动伸缩无法生效。参见容器基本配置环节。
说明:应用非亲和性调度的设置方式与亲和性调度相同,但相同的调度规则代表的意思不同,请按需进行选择。
应用场景 | 说明 |
稳定的持久化存储 | 基于PVC实现数据的持久化存储,即Pod重新调度后还是能访问到相同的持久化数据 |
稳定的网络标志 | 基于Headless Service(即没有Cluster IP的Service)来实现,即Pod重新调度后其PodName和HostName不变 |
有序部署,有序扩展 | 即Pod是有顺序的,在部署或者扩展的时候要依据定义的顺序依次依次进行(即从0到N-1,在下一个Pod运行之前所有之前的Pod必须都是Running和Ready状态),基于init containers来实现 |
请求类型 | 配置说明 |
HTTP/HTTPS |
即向容器发送一个 HTTPget 请求,支持的参数包括:
|
TCP |
即向容器发送一个 TCP Socket,kubelet 将尝试在指定端口上打开容器的套接字。 如果可以建立连接,容器被认为是健康的,如果不能就认为是失败的。支持的参数包括:
|
命令行 |
通过在容器中执行探针检测命令,来检测容器的健康情况。支持的参数包括:
|
注:若要启用水平伸缩,您必须为容器设置所需资源,否则容器自动伸缩无法生效。参见容器基本配置环节。
说明:应用非亲和性调度的设置方式与亲和性调度相同,但相同的调度规则代表的意思不同,请按需进行选择。
应用场景
确保所有(或部分)Node节点上运行Pod的副本,随着新的Node呗添加到集群中的同时,会将Pod添加到新Node上,随着节点从集群中删除,垃圾收集器也会将删除这些Pod,其主要可用于集群存储,日志收集和节点监控。
a) 在容器服务菜单下,单击左侧导航栏中的应用>守护进程集,选择所需的命名空间(默认为deafult),然后单击页面右上角的创建。
b) 设置应用名称、集群 、命名空间、标签和注解。然后单击下一步进入容器配置页面
c) 设置容器配置
i. 基本配置
ii. 可选配置
请求类型 |
配置说明 |
HTTP/HTTPS |
即向容器发送一个 HTTPget 请求,支持的参数包括:
|
TCP |
即向容器发送一个 TCP Socket,kubelet 将尝试在指定端口上打开容器的套接字。 如果可以建立连接,容器被认为是健康的,如果不能就认为是失败的。支持的参数包括:
|
命令行 |
通过在容器中执行探针检测命令,来检测容器的健康情况。支持的参数包括:
|
iii. 完成容器配置后,单击下一步。
iv. 进行高级设置。
注:若要启用水平伸缩,您必须为容器设置所需资源,否则容器自动伸缩无法生效。参见容器基本配置环节。
说明:应用非亲和性调度的设置方式与亲和性调度相同,但相同的调度规则代表的意思不同,请按需进行选择。
背景说明
任务(Job)负责批量处理短暂的一次性任务(short lived one-off tasks),即仅执行一次的任务,它保证批处理任务的一个或多个Pod成功结束。
Kubernetes支持以下几种Job:
.spec.completions
,创建多个Pod,直到.spec.completions
个Pod成功结束。.spec.Parallelism
但不设置.spec.completions
,当所有Pod结束并且至少一个成功时,Job就认为是成功。.spec.completions
和.spec.Parallelism
,多个Pod同时处理工作队列。a) 在容器服务菜单下,单击左侧导航栏中的应用>任务,选择所需的命名空间(默认为deafult),然后单击页面右上角的创建。
b) 设置应用名称、集群 、命名空间、标签和注解。然后单击下一步进入容器配置页面
c) 设置容器配置
i. 基本配置
ii. 可选配置
请求类型 |
配置说明 |
HTTP/HTTPS |
即向容器发送一个 HTTPget 请求,支持的参数包括:
|
TCP |
即向容器发送一个 TCP Socket,kubelet 将尝试在指定端口上打开容器的套接字。 如果可以建立连接,容器被认为是健康的,如果不能就认为是失败的。支持的参数包括:
|
命令行 |
通过在容器中执行探针检测命令,来检测容器的健康情况。支持的参数包括:
|
iii. 完成容器配置后,单击下一步。
iv. 进行高级设置。
背景说明
任务(Job)负责批量处理短暂的一次性任务(short lived one-off tasks),即仅执行一次的任务,它保证批处理任务的一个或多个Pod成功结束。
Kubernetes支持以下几种Job:
.spec.completions
,创建多个Pod,直到.spec.completions
个Pod成功结束。.spec.Parallelism
但不设置.spec.completions
,当所有Pod结束并且至少一个成功时,Job就认为是成功。.spec.completions
和.spec.Parallelism
,多个Pod同时处理工作队列。a) 在容器服务菜单下,单击左侧导航栏中的应用>任务,选择所需的命名空间(默认为deafult),然后单击页面右上角的创建。
b) 设置应用名称、集群 、命名空间、标签和注解。然后单击下一步进入容器配置页面
c) 设置容器配置
i. 基本配置
ii. 可选配置
请求类型 |
配置说明 |
HTTP/HTTPS |
即向容器发送一个 HTTPget 请求,支持的参数包括:
|
TCP |
即向容器发送一个 TCP Socket,kubelet 将尝试在指定端口上打开容器的套接字。 如果可以建立连接,容器被认为是健康的,如果不能就认为是失败的。支持的参数包括:
|
命令行 |
通过在容器中执行探针检测命令,来检测容器的健康情况。支持的参数包括:
|
iii. 完成容器配置后,单击下一步。
iv. 进行高级设置。
本文介绍首云容器服务Kubernetes支持的网络类型。
首云支持ClusterIp
ClusterIp 是 Kubernetes 中默认的服务类型 (ServiceType),选择此种类型,对应的 Service 将被分配一个集群内部的 IP 地址,只能在集群内部被访问。
NodePort
在每台 Node 的固定端口上暴露服务,选择 NodePort 的服务类型,集群会自动创建一个 ClusterIp 类型的服务,负责处理Node接收到的外部流量。集群外部的 Client 可以通过:的方式访问该服务。
1.在容器集群菜单下,单击左侧导航栏中的服务与路由 > 服务,进入服务列表页面。
2.选择所需的集群和命名空间,单击页面右上角的创建服务。
3.在弹出的创建服务对话框中,进行配置。
在容器集群菜单下,单击左侧导航栏中的服务与路由 > 服务,进入服务列表页面。
1.在容器集群菜单下,单击左侧导航栏中的服务与路由 > 服务,进入服务列表页面。
2.选择集群和命名空间,选择所需的服务(本示例中选择hello),单击右侧的编辑。
3.在弹出的更新对话框中,进行配置修改,然后单击确认。
1.在容器集群菜单下,单击左侧导航栏中的服务与路由 > 服务,进入服务列表页面。
2.选择集群和命名空间,选择所需的服务(本示例中选择 hello),单击右侧的移除。
3.在弹出的对话框中点击确认,即可删除服务。
1.在容器集群菜单下,单击左侧导航栏中的服务与路由 >路由,进入路由列表页面。
2.选择所需的集群和命名空间,单击页面右上角的创建路由。
3.在弹出的路由创建对话框中对路由规则进行配置。
路由规则是指授权入站到达集群服务的规则,支持 http/https 规则,配置项包括域名、服务名称、服务端口、服务路径、注解和标签等。
4.最后单击确认,返回路由列表。等待一段时间,可以看到一条路由。
1.在容器集群菜单下,单击左侧导航栏中的服务与路由 >路由,进入路由列表页面。
2.选择集群和命名空间,选择所需的路由(本示例中选择hello),单击右侧的编辑。
3.在弹出的对话框中,对路由的相关参数进行变更,然后单击确认,完成编辑
1.在容器集群菜单下,单击左侧导航栏中的服务与路由 >路由,进入路由列表页面。
2.选择集群和命名空间,选择所需的路由(本示例中选择hello),单击右侧的移除。
3.在弹出的对话框中点击确认,即可删除路由。
Prometheus是一套开源的系统监控报警框架,它具有灵活的数据模型:监控数据由值、时间戳、标签;源数据记录在标签中,支持采集时对标签进行修改,从而使得其具有强大的扩展能力。
说明:集群创建后监控服务需要手动开启,开启过程如下:
上述步骤完成后,等待集群更新,更新完成后,集群状态显示正常后可查看使用监控。
i. 就绪:当前处于就绪(可用)状态的节点(包括master节点和worker节点)。
ii. 不可调度:显示Worker节点处于不可调度的节点数量。
iii. PID压力:显示PID资源不足的节点个数。
iv. 内存压力:显示内存过低的节点个数。
v. 磁盘压力:显示磁盘容量低的节点个数。
i. CPU:显示当前集群的CPU总量,已使用,使用率。
ii. 内存:显示当前集群的内存总量,已使用,使用率。(单位: GiB)
iii. 文件系统使用统计:显示当前集群文件存储总量,已使用,使用率。(单位: GiB)
i. etcd:分布式键值存储系统,用于保存集群状态数据,比如Pod,Service等对象信息。
ii. Kube-scheduler:运行在Master节点上,调度器的职责主要是为新创建的pod在集群中寻找合适的node,并将pod调度到Node上。
iii. Kubectl: kubectl 是 Kubernetes 的命令行工具,是 Kubernetes 用户和管理员必备的管理工具。
上图中查询数据源选择prometheus,Metrics里输入PormQL表达式(为prometheus监控系统中用于检索监控数据的查询语言),还可以设置其他比如图例,抓取时间等。可以添加多个查询,点击上图右侧AddQuery,操作同上。在通用配置里可以设置该仪表盘名称,最后点击右上方左侧功能按钮保存。
步骤前面自定义仪表盘相同
选择其他样式的仪表盘
这里以Gauge类型仪表盘为例,设置完成后如下图右侧
在 Kubernetes 集群中,您可使用 Namespaces(命名空间)功能创建多个虚拟的空间,在集群用户数量较多时,多个命名空间可以有效划分工作区间,将集群资源划分为多个用途。
命名空间名称需唯一,长度为1-63个字符,只能包含数字、字母、和“-”,且首尾只能是字母或数字
命名空间名称需唯一,长度为1-63个字符,只能包含数字、字母、和“-”,且首尾只能是字母或数字
首云容器服务提供配置项和秘钥管理,用户可以使用配置项保存不需要加密的配置信息和配置文件,使用秘钥保存
一些敏感的配置信息,例如密码,证书等信息。用户可以在创建应用配置容器组时,在将配置项或秘钥加入环境变量中或在添加临时卷时使用。
进入应用配置导航选择配置项页面->选择集群和命名空间->点击右上角创建->在弹框中编辑名称->点击添加
编辑键值对->点击确认完成创建
点击某配置项的编辑便可对配置项进行编辑,修改配置项信息
在某配置项操作下选择删除即可删除该配置项
选择应用配置导航栏,进入保密字典页面->点击右上角创建->在弹框中进行配置
编辑秘钥名称->选择类型->添加键值对(若值已经过base64加密,则选择添加Data,若未经过base64加密,则选择stringData)->确认完成创建
在某秘钥操作下选择编辑,可重新编辑该秘钥的键值,还可添加新的键值对
在某秘钥操作下选择删除,即可删除该秘钥
首云容器服务的自动伸缩能力是通过节点自动伸缩组件实现的,可以按需弹出实例,支持多实例规格、多种伸缩模式,满足不同的节点伸缩场景。
节点自动伸缩组件是基于kubernetes资源调度的分配情况进行伸缩判断的,节点中资源的分配是通过资源请求(Request)进行计算的。当Pod由于资源请求(Request)无法满足并进入等待(Pending)状态时,节点自动伸缩组件会根据配置的弹性伸缩组配置信息中的资源规格以及约束配置,计算所需的节点数目,如果可以满足伸缩条件,则会触发伸缩组的节点加入。当一个节点在弹性伸缩组中且节点上Pod的资源请求低于阈值时,节点自动伸缩组件会将节点进行缩容。因此资源请求(Request)的正确、合理设置,是弹性伸缩的前提条件。
注意:自动伸缩配置完成后需立即配置伸缩组,否则自动伸缩不生效!
在当前页面点击创建伸缩组,在弹框中进行创建伸缩组配置。
在当前页面点击伸缩组右侧修改,可对计算类型与规格、本地盘和实例数量进行修改
在当前页面点击伸缩组右侧删除,即可删除当前伸缩组。当自动伸缩中没有伸缩组时,自动伸缩不生效!
在伸缩组状态为已禁用的情况下可启用自动伸缩,启用完成后自动伸缩正常工作。
1, 创建一块存储卷(PV),用于存放数据备份
2, 到集群列表页面,点击某个集群操作下的详情进入该集群的详情页面
3, 点击etcd按钮->选择存储卷->编辑备份间隔->编辑存留时间->点击确定,开启etcd备份
注:
1,备份间隔格式与定时任务中的‘计划(schedule)’格式相同,详细规则如下:
,2,开启etcd备份以后,系统会在该集群的命名空间kube-system下自动创建一个名为etcd-backkup的定时任务,若想修改备份间隔,需到定时任务中编辑yaml文件进行修改,具体操作如下:
3,备份数据存放的文件命名规则为:etcd-snapshot-$(date +%Y-%m-%d_%H:%M:%S_%Z).db