最近更新时间:2024-07-12 14:44:23
您可以通过KCE容器服务控制台来更快捷的创建VK虚拟节点来对接KCI,KCE控制台创建VK虚拟节点操作步骤如下:
登录KCE容器服务控制台。
控制台左侧菜单栏选择集群,进入集群列表页,找到需要安装VK虚拟节点的具体集群,单击集群名称进入。
点击左侧菜单栏组件管理,找到virtual-kubelet组件点击进入后,即可安装。
您已经开通容器实例服务。
您已经在金山云容器服务提前创建好一个Kubernetes集群,操作步骤详见创建集群 。
1.支持KCE对接KCI容器实例,安装VK虚拟节点的区域仅有:华北1(北京)、华东1(上海);
2.目前支持安装VK虚拟节点的KCE集群的k8s版本,已经支持到v1.27。
virtual-kubelet组件支持安装多个,创建多个虚拟节点。点击安装,即可进行安装virtual-kubelet组件创建虚拟节点。
Virtual-Kubelet名称:VK组件名称,输入规则:不超过47个字符,只能包含小写字母、数字、和“-”,并且必须以小写字母开头,小写字母或数字结尾。
命名空间:选择vk组件要安装的命名空间。
创建模式:分为表单创建与配置文件创建两种。
虚拟节点名称:默认同VK组件名称一致,可进行修改。
虚拟私有网络:默认当前KCE集群所用VPC。
子网:默认VPC网络下的云服务器子网,最多可以选择5个子网,可在对应多子网可用区下提高容器实例开机成功率(注:若使用CSI功能,此处虚拟节点子网建议只选1个)。
安全组:默认VPC网络下安全组,最多可以选择3个。
点击高级配置,展开VK虚拟节点高级配置的填写,再次点击收起折叠。
基础镜像:vk使用的基础镜像,支持64位UUID格式输入,默认为已发版的最新CPU镜像。
匹配机型:如果用户创建Pod时未通过Annotation指定机型套餐,则会根据Pod的规格从机型中按顺序依次自动匹配套餐,多个机型以英文逗号分隔,如“S6,N3,X6”。
项目:选择所属项目。
删除成本:同replicaset下容器实例Pod的删除成本,数值范围[-2147483648,2147483647],数值越小表示越优先删除。
主机别名:若需使用自建镜像仓库,在vk级别配置实例主机别名。
DNS配置:若需使用自建镜像仓库,在vk级别配置实例DNS配置。
Label:为虚拟节点添加标签。
Taints:为虚拟节点添加污点。
配置文件中nodename
、k8s.ksyun.com/kci-security-group-id
、k8s.ksyun.com/kci-subnet-id
需手动必填,其他属性值可选填。
配置文件如下:
# (必填)虚拟节点名称,集群内唯一性校验
nodename: ""
# (必填)集群 ID
clusterId: "xxxxxxxxxx"
# (必填)kubernetes集群DNS,若为KCE集群则为集群内coreDNS服务的IP地址
clusterDNS:
- x.x.x.x
# (必填)集群域名,KCE集群默认为‘cluster.local’
clusterDomain: cluster.local
# 用于连接Kubernetes API server (默认:"~/.kube/config")
kubeconfig: "/root/.kube/config"
# 监控pod与其他资源的命名空间(默认:"",表示全部命名空间)
namespace: ""
# 是否启用对Kubelet服务器的匿名请求(默认:true)
anonymousAuth: true
# kubernetes版本大于等于1.13建议启用lease资源用于节点心跳
enableNodeLease: true
server:
listenPort: 10250
serverCertFile: ""
serverKeyFile: ""
openapi:
# KCE集群中临时AK/SK configmap,若未提供用户AccessKey和用户SecretKey则必填
akskConfigMap:
name: "user-temp-aksk"
namespace: "kube-system"
# 地区名称
region: "xxxxxx"
# 用户AccessKey,若已配置akskConfigMap此处不用填写
accessKey: ""
# 用户SecretKey,若已配置akskConfigMap此处不用填写
secretKey: ""
metricsServer:
# 监听 metrics/stats 的请求地址(默认 :":10255")
address: ":10255"
# 从所有实例同步指标的时间间隔(默认:30s)
syncInterval: 30s
# 设置日志级别,例如:debug、info、warn、error (默认: info)
logLevel: info
# 启动virtual-kubelet的等待时间(默认:0s,表示无限制)
startupTimeout: 1m
# 为虚拟节点自定义标签,示例如下
#customLabels:
# label1: value1
# 禁用虚拟节点污点(false表示开启污点)
disableTaint: false
# 为虚拟节点添加额外污点,示例如下
#taints:
#- key: testkey
# value: testvalue
#effect可选值:NoSchedule、NoExecute、PreferNoSchedule
# effect: NoSchedule
# 虚拟节点容量
capacity:
cpu: "2000"
memory: "1Ti"
pods: "2000"
nvidiaGPU: "2000"
# 管理实例的全局参数
# 是否允许创建特权容器
allowPrivileged: ""
kciletHeartbeat:
# 最小连续失败阈值,超过此值则被认定为失败(默认0,表示无限制)
failuretThreshold: 0
# 心跳检查kcilet的周期(默认:1m)
period: 1m
# 用于实例内部组件连接到Kubernetes APIServer的kubecconfig的路径
kciletKubeconfigPath: "/root/.kube/config"
# 容器实例pod声明的删除成本,在replicaset缩容时判断删除优先级,数值范围[-2147483648, 2147483647],数值越小表示越优先删除
kciPodDeletionCost:
# 容器实例默认值设置(以下各值可通过在pod annotation中覆盖重写,若不重写则以以下设置值为默认值)
instanceSettings:
# (必填)容器实例所属的安全组,支持1-3个(多个以英文","间隔)
k8s.ksyun.com/kci-security-group-id: " "
# (必填)容器实例部署的子网id,支持1-5个(多个以英文","间隔)
k8s.ksyun.com/kci-subnet-id: " "
# 容器实例所属的项目id
k8s.ksyun.com/kci-project-id: ""
# 在vk级别配置实例主机别名,可用于自建镜像仓库或其他情况
k8s.ksyun.com/kci-host-aliases: ''
# 在vk级别配置实例DNS配置,可用于自建镜像仓库或其他情况
k8s.ksyun.com/kci-dns-config: ''
# 指定虚拟节点所管理的所有实例使用的基础镜像id(默认为最新镜像)
k8s.ksyun.com/kci-base-image: ""
# 匹配机型,可输入多个机型,多个机型以英文逗号间隔,如“S6,N3”,若创建Pod时未通过Annotation指定机型套餐,则会从指定的机型中按顺序依次自动匹配机型套餐
k8s.ksyun.com/kci-instance-family: ""
# 系统盘大小(默认为0,表示不设置此值)
k8s.ksyun.com/kci-base-system-disk-size: "0"
# 系统盘类型(SSD3.0/EHDD)
k8s.ksyun.com/kci-base-system-disk-type: "SSD3.0"
# 计费类型(默认:HourlyInstantSettlement)
k8s.ksyun.com/kci-charge-type: HourlyInstantSettlement
# 实例是否启用kubeproxy(默认:false)
k8s.ksyun.com/kci-kube-proxy-enabled: "false"
# 是否启用内置filebeat sidecar采集日志并输出到金山云Klog服务
k8s.ksyun.com/kci-klog-enabled: "false"
表单创建或是配置文件创建任意一种方式下,点击确定,Virtual-Kubelet组件实例即可进行安装。
Virtual-Kubelet组件实例安装成功后,节点管理-虚拟节点列表即可展示具体已经安装成功的虚拟节点。
纯净模式