全部文档
当前文档

暂无内容

如果没有找到您期望的内容,请尝试其他搜索词

文档中心

VK配置参数说明

最近更新时间:2023-12-26 17:51:02

通过部署virtual-kubelet创建虚拟节点的方式有两种:

  1. 通过启动参数与环境变量方式创建VK;

  2. 通过ConfigMap配置文件方式创建VK。

具体环境变量、启动参数,以及ConfigMap配置文件参数详情,请参考以下内容:

环境变量

环境变量

含义

是否必填

KCI_ACCESS_KEY

用户AccessKey,如何获取AccessKey,请参考为IAM子用户创建访问密钥

否,若未提供TEMP_AKSK_CM则必填

KCI_SECRET_KEY

用户SecretKey,如何获取SecretKey,请参考为IAM子用户创建访问密钥

否,若未提供TEMP_AKSK_CM则必填

TEMP_AKSK_CM

KCE集群中临时AK/SK configmap name,见kube-system命名空间下,原始名称为user-temp-aksk

否,若未提供KCI_ACCESS_KEY和KCI_SECRET_KEY则必填

KCI_CLUSTER_ID

集群ID,若该集群是金山云容器服务的集群,则为ClusterId; 若集群是自建集群,则用户自定义一个唯一标识作为集群ID,建议使用uuid格式

KCI_REGION

地域名称,查询容器实例支持的地域,请参考支持地域

否,使用TEMP_AKSK_CM时可不填,使用KCI_ACCESS_KEY和KCI_SECRET_KEY时必填

KCI_SUBNET_ID

容器实例部署的子网

KCI_SECURITY_GROUP_IDS

容器实例所属的安全组,支持设置多个,请以","分割,最多允许设置3个

KCI_HOST_ALIASES

若需使用自建镜像仓库,在vk级别配置实例hostAliases,生效于该vk所管理的实例底层系统内,用于解析镜像仓库地址,必须为json字符串格式(参考Adding additional entries with hostAliases

KCI_DNS_CONFIG

若需使用自建镜像仓库,在vk级别配置实例dnsconfig,生效于该vk所管理的实例底层系统内,用于解析镜像仓库地址,必须为json字符串格式(参考Pod’s DNS Config

VKUBELET_POD_IP

virtual-kubelet的pod的InternalIP,固定值,引入virtual-kubelet的pod.status.podIP

KCI_BASE_IMAGE

vk全局指定所管理的所有实例使用的基础镜像(对配置该值后创建的实例生效)

KCI_INSTANCE_FAMILY

vk全局指定自动匹配机型,如用户创建Pod时未通过Annotation指定机型套餐,则会根据Pod的规格从自动匹配机型中按顺序依次自动匹配套餐

KCI_PROJECT_ID

vk全局指定所管理的所有实例使用的项目ID(对配置该值后创建的实例生效)

启动参数

启动参数

含义

是否必填

nodename

虚拟节点名称

cluster-dns

kubernetes集群DNS

cluster-domain

集群域名,KCE集群默认为‘cluster.local’

kcilet-kubeconfig-path

指定集群kubeconfig文件路径,值为kubeconfig volume对应的mountPath

enable-node-lease

kubernetes版本大于等于1.13建议启用lease资源用于节点心跳

kci-provider-log-level

设置日志级别,例如:debug、info、warn、error (默认: info)

heartbeat-check-period

心跳检查kcilet的周期(默认:1m)

heartbeat-check-failure-threshold

最小连续失败阈值,超过此值则被认定为失败(默认0,表示无限制)

kube-proxy-enable

是否开启kube-proxy

anonymous-auth

是否启用对Kubelet服务器的匿名请求(默认:true)

base-system-disk-size

实例系统盘大小,单位GB,范围20-500GB。该值为空时CPU机型默认为20GB,GPU机型默认为50GB

podDeletionCost

容器实例pod声明的删除成本,在replicaset缩容时判断删除优先级,数值范围[-2147483648, 2147483647],数值越小表示越优先删除

ConfigMap配置文件参数参考

# 用于连接Kubernetes API server (默认:"~/.kube/config")
kubeconfig: "/root/.kube/config"
# (必填)虚拟节点名称,集群内唯一性校验
nodename:  
# 监控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: "" 
# (必填)集群 ID
clusterId: "xxxxxxxxx"
kciletHeartbeat:
  # 最小连续失败阈值,超过此值则被认定为失败(默认0,表示无限制)
  failuretThreshold: 0
  # 心跳检查kcilet的周期(默认:1m)
  period: 1m
# 用于实例内部组件连接到Kubernetes APIServer的kubecconfig的路径
kciletKubeconfigPath: "/root/.kube/config"
# 容器实例pod声明的删除成本,在replicaset缩容时判断删除优先级,数值范围[-2147483648, 2147483647],数值越小表示越优先删除
kciPodDeletionCost:
# (必填)kubernetes集群DNS,若为KCE集群则为集群内coreDNS服务的IP地址
clusterDNS:
- xx.xx.xx.xx
# (必填)集群域名,KCE集群默认为‘cluster.local’
clusterDomain: cluster.local
# 容器实例默认值设置(以下各值可通过在pod annotation中覆盖重写,若不重写则以以下设置值为默认值)
instanceSettings:
  # (必填)容器实例所属的安全组,支持1-3个(多个以英文","间隔)
  k8s.ksyun.com/kci-security-group-id: " "
  # (必填)容器实例部署的子网id
  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"

文档导读
纯净模式常规模式

纯净模式

点击可全屏预览文档内容
文档反馈