参数配置
参数介绍
参数的顺序不影响结果,脚本内置固定顺序- 可直接使用参数名,也可使用
-、--开头- 如:
kubernetes-version=v1.31.1、-kubernetes-version=v1.31.1、--kubernetes-version=v1.31.1都是合法值
- 如:
- 参数名中单词中间使用
-分隔,脚本中单词中间使用_分隔- 如:
Kubernetes版本,参数中使用kubernetes-version=v1.31.1,脚本中使用kubernetes_version=v1.31.1
- 如:
Boolean 类型 的参数
- 传递参数时为
true,表示启动 - 不传递参数时为
false,表示不启动
String 类型 的参数
- 传递参数时,将覆盖
默认值 - 不传递参数时,将使用
默认值
Number 类型 的参数
- 传递参数时,将覆盖
默认值 - 不传递参数时,将使用
默认值
参数
standalone
- 类型:
Boolean - 说明:
单机模式,开箱即用,无需任何配置 - 相关:此参数会创建一个 的 k8s 单机模式, 并且安装
calico、Ingress Nginx等,Ingress Nginx使用宿主机网络(80/443) - 参数组合:
- 可与其他参数组合使用,如:自定义
Kubernetes版本kubernetes-version=v1.30.3 - 如果未指定
kubernetes-init-node-name初始化节点名称,将使用默认值k8s-1 - 存在默认行为(无法取消):
控制节点(控制平面) 初始化calico网络插件 安装配置Ingress Nginx负载均衡器 安装配置Metrics Server安装配置- 等等
- 可与其他参数组合使用,如:自定义
cluster
警告
- 在
集群模式中,工作节点加入集群之前,集群不可使用
- 类型:
Boolean - 说明:
集群模式 - 相关:此参数会创建一个 的 k8s 单机模式, 并且安装
calico、Ingress Nginx等,Ingress Nginx使用宿主机网络(80/443) - 类似参数:
standalone单机模式,唯一不同的是 - 参数组合:
- 可与其他参数组合使用,如:自定义
Kubernetes版本kubernetes-version=v1.30.3 - 如果未指定
kubernetes-init-node-name初始化节点名称,将使用默认值k8s-1 - 存在默认行为(无法取消):
控制节点(控制平面) 初始化calico网络插件 安装配置Ingress Nginx负载均衡器 安装配置Metrics Server安装配置- 等等
- 可与其他参数组合使用,如:自定义
node
- 类型:
Boolean - 说明:工作节点加入集群前的准备工作
- 相关:此参数会与
控制节点(控制平面) 安装、配置相同的内容,不同的在于不进行节点初始化、不进行初始化以后的插件安装配置, 用于在工作节点中安装和配置Kubernetes相关内容,然后此节点即可加入集群 - 参数组合:
- 可与其他参数组合使用,如:自定义
Kubernetes版本kubernetes-version=v1.30.3 - (无效组合:与
控制节点(控制平面)有关的配置组合时无效):控制节点(控制平面) 初始化calico网络插件安装配置Ingress Nginx安装配置- 等等
- 可与其他参数组合使用,如:自定义
config
警告
- 如果配置了
配置文件,先读取配置文件,再读取参数,参数可覆盖配置文件 - 如果要将参数转为配置文件的写法,需要将参数中的
-替换为_并写入到指定的配置文件中
- 类型:
String - 默认值:无
- 说明:配置文件模式,指定配置文件位置,配置文件内容必须是合法的键值对
- 相关:用于高度自定义时配置参数
- 示例:
String类型:指定Kubernetes版本的参数kubernetes-version=v1.30.3转为 配置文件的键值对是kubernetes_version=v1.30.3Boolean类型:启用Ingress Nginx安装的参数ingress-nginx-install转为 配置文件的键值对是ingress-nginx-install=true
dpkg-lock-timeout
- 类型:
Number - 默认值:
120 - 单位:
秒 - 说明:apt 锁等待时间
- 用途:
apt安装软件时,锁等待时间,防止锁异常退出程序 - 相关:仅在包管理器是
apt时有效
swap-off
- 类型:
Boolean - 说明:关闭交换空间
- 相关:启用交换空间时,
Kubernetes默认无法进行初始化。交换空间会影响Kubernetes的调度计算
curl
- 类型:
Boolean - 说明:启用安装 curl
- 用途:
下载脚本、下载 gpg 签名、下载 Kubernetes manifests 文件 - 相关:某些操作系统无
curl
ca-certificates
- 类型:
Boolean - 说明:启用安装 ca-certificates
firewalld-stop
- 类型:
Boolean - 说明:关闭防火墙
- 范围:关闭
firewalld软件,关闭firewalld开机自启,仅在包管理工具为yum时生效 - 用途:局域网通信,Kubernetes 默认需要使用
6443、30000-32767、10250、10259、10257
selinux-disabled
- 类型:
Boolean - 说明:关闭
selinux - 范围:关闭
selinux软件,仅在包管理工具为yum时生效
bash-completion
- 类型:
Boolean - 说明:启用安装
bash-completion - 用途:
Shell 自动补全功能所需软件
docker-repo
危险
- 配置 docker 仓库时,会删除
旧版 Docker旧版 Docker:docker.io新版 Docker:docker-ce
- 类型:
Boolean - 说明:配置 Docker 仓库
- 用途:安装
containerd或docker所需仓库
docker-repo-type
- 类型:
String - 说明:选择配置 Docker 仓库类型
- 用途:选择下载
containerd或Docker软件的仓库 - 默认值:
aliyun - 可选值:
aliyun(阿里云)tencent(腾讯)huawei(华为)kubernetes(官方)- 自定义仓库
- 需要与 https://mirrors.aliyun.com/docker-ce/linux 或 https://mirrors.cloud.tencent.com/docker-ce/linux 结构相同
- 自定义仓库时,地址结尾不要有
/
container-selinux-rpm
- 类型:
String - 默认值:
https://mirrors.aliyun.com/centos-altarch/7.9.2009/extras/i386/Packages/container-selinux-2.107-3.el7.noarch.rpm - 说明:自定义
container-selinux安装包,仅在少数系统中使用,如:OpenEuler20.03 - 相关:在
OpenEuler20.03中安装containerd、docker时会依赖container-selinux,而OpenEuler20.03中的container-selinux版本过低,无法使用,所以采用了自定义。除OpenEuler20.03以外的系统,无需关注
containerd-io-rpm
- 类型:
String - 默认值:
https://mirrors.aliyun.com/docker-ce/linux/centos/8/x86_64/stable/Packages/containerd.io-1.6.32-3.1.el8.x86_64.rpm - 说明:自定义
containerd.io安装包,仅在少数系统中使用,如:UOS - 相关:
- 在
UOS中配置 docker 仓库后,无法正常使用 docker 仓库安装containerd.io - 在
UOS官方仓库中,存在containerd,但是版本过低,可能无法使用 - 除
UOS以外的系统,无需关注 - 安装 docker 时,需要
containerd.io
- 在
docker-install
- 类型:
Boolean - 说明:启动安装
Docker - 相关:安装
Docker时,会自动安装containerd
containerd-install
- 类型:
Boolean - 说明:启用安装
containerd - 用途:
Kubernetes1.24及之后的容器运行时 - 相关:安装
Docker时,会自动安装containerd
pause-image
- 类型:
String - 说明:配置 pause 镜像地址
- 用途:
containerd配置时使用的镜像 - 默认值:
registry.aliyuncs.com/google_containers/pause - 可选值:
registry.aliyuncs.com/google_containers/pauseregistry.cn-qingdao.aliyuncs.com/xuxiaoweicomcn/pauseregistry.k8s.io/pause- 自定义镜像
containerd-config
- 类型:
Boolean - 说明:配置
containerd - 用途:配置
containerd,用于支持Kubernetes容器运行时 - 备份:每次配置时,都会将
containerd原配置文件备份一次,路径/etc/containerd/,文件名增加当前时间作为后缀名
containerd-root
- 类型:
String - 说明:配置
containerd根路径 - 用途:在运行
containerd-config参数时,自定义containerd数据(镜像)储存路径 - 默认值:
/var/lib/containerd
containerd-state
- 类型:
String - 说明:配置
containerd根路径 - 用途:在运行
containerd-config参数时,自定义containerd运行状态储存路径 - 默认值:
/run/containerd
availability-vip-install
- 类型:
Boolean - 说明:启用
VIP(虚拟 IP) 安装 - 用途:用于高可用集群,安装
keepalived,配置keepalived,配置VIP - 相关:
- 使用 docker 安装配置的
VIP,当前机器需要有docker,可使用docker-repo docker-install参数快速安装 - 由于 VIP 集群中的各个机器之间需要通信,建议使用
firewalld-stop参数关闭防火墙
- 使用 docker 安装配置的
availability-master
- 类型:
String - 说明:
VIP的地址,需要与当前机器在同一个网段 - 示例:
availability-master=172.25.25.100 - 用途:集群内各节点通过此 IP 与主节点通信
availability-vip
- 类型:
String - 说明:
VIP代理的各个 主节点的别名@IP:端口 - 示例:
availability-master=k8s-master1@172.25.25.61:6443 availability-master=k8s-master2@172.25.25.62:6443 availability-master=k8s-master3@172.25.25.63:6443
availability-vip-no
- 类型:
Number - 说明:指定当前机器在
VIP中的编号,每台机器不同,从1开始 - 示例:
availability-vip-no=1
kubernetes-repo
- 类型:
Boolean - 说明:配置 Kubernetes 仓库
- 用途:安装
Kubernetes所需仓库
kubernetes-repo-type
- 类型:
String - 说明:选择下载
Kubernetes软件的仓库 - 用途:用于下载
Kubernetes软件 - 默认值:
aliyun - 可选值:
aliyun(阿里云)tsinghua(清华大学)- 实际下载地址:https://mirrors.tuna.tsinghua.edu.cn/kubernetes/core%3A/stable%3A/
- 更新速度慢,版本较新时可能不存在,建议选择阿里云
opensusekubernetes(官方)- 自定义仓库
kubernetes-install
- 类型:
Boolean - 说明:安装
Kubernetes - 用途:安装
Kubernetes所需软件 - 相关:
Kubernetes从1.31.0开始,已支持使用配置文件配置证书有效期,脚本现已支持(有效期 100年)
kubernetes-version
- 类型:
String - 说明:安装
Kubernetes版本 - 用途:自定义安装
Kubernetes的版本 - 默认值:
v1.31.14 - 可选值:
v1.24.0到v1.34.2
kubernetes-version-suffix
- 类型:
String - 说明:安装
Kubernetes版本后缀 - 用途:自定义安装
Kubernetes的版本的后缀,yum包管理器无需关注,apt包管理器一般无需关注 - 默认值:
1.1 - 相关:
- 由于
apt包管理器的机制以及构建等问题,Kubernetes可能不是1.1,例如:在 apt 包管理器中安装Kubernetesv1.29.4,需要使用2.1- 此问题出现情况极小,详情见 https://mirrors.aliyun.com/kubernetes-new/core/stable/ 中 deb 安装包的名称
- yum 包管理器无需关心
- 由于
kubernetes-images
- 类型:
String - 说明:
Kubernetes镜像地址 - 用途:
Kubernetes控制节点(控制平面)初始化所需的镜像地址 - 默认值:
aliyun - 可选值:
aliyun(阿里云)- 实际下载地址:
registry.aliyuncs.com/google_containers - 下载镜像列表:
registry.aliyuncs.com/google_containers/corednsregistry.aliyuncs.com/google_containers/etcdregistry.aliyuncs.com/google_containers/kube-apiserverregistry.aliyuncs.com/google_containers/kube-controller-managerregistry.aliyuncs.com/google_containers/kube-proxyregistry.aliyuncs.com/google_containers/kube-schedulerregistry.aliyuncs.com/google_containers/pause
- 实际下载地址:
xuxiaoweicomcn(作者镜像)- 实际下载地址:
registry.cn-qingdao.aliyuncs.com/xuxiaoweicomcn - 下载镜像列表:
registry.cn-qingdao.aliyuncs.com/xuxiaoweicomcn/corednsregistry.cn-qingdao.aliyuncs.com/xuxiaoweicomcn/etcdregistry.cn-qingdao.aliyuncs.com/xuxiaoweicomcn/kube-apiserverregistry.cn-qingdao.aliyuncs.com/xuxiaoweicomcn/kube-controller-managerregistry.cn-qingdao.aliyuncs.com/xuxiaoweicomcn/kube-proxyregistry.cn-qingdao.aliyuncs.com/xuxiaoweicomcn/kube-schedulerregistry.cn-qingdao.aliyuncs.com/xuxiaoweicomcn/pause
- 实际下载地址:
kubernetes(官方)- 实际下载地址:
registry.cn-qingdao.aliyuncs.com/xuxiaoweicomcn - 下载镜像列表:
registry.k8s.io/coredns/corednsregistry.k8s.io/etcdregistry.k8s.io/kube-apiserverregistry.k8s.io/kube-controller-managerregistry.k8s.io/kube-schedulerregistry.k8s.io/kube-proxyregistry.k8s.io/pause
- 实际下载地址:
kubernetes-images-pull
- 类型:
Boolean - 说明:拉取 Kubernetes 镜像
- 用途:用于
控制节点(控制平面)初始化Kubernetes前拉取镜像、用于工作节点加入Kubernetes集群前拉取镜像 - 相关:在
Kubernetes初始化时、在工作节点加入Kubernetes集群时会自动拉取,此参数仅用于提前拉取Kubernetes镜像,加速初始化、加入集群的速度
kubernetes-config
- 类型:
Boolean - 说明:配置
Kubernetes - 用途:在初始化
Kubernetes、加入Kubernetes集群 之前对软件进行相关的配置、安装必要的软件,防止出现警告和错误 - 相关:
控制节点(控制平面)初始化前、工作节点加入集群前,均需要配置Kubernetes
kubernetes-init
- 类型:
Boolean - 说明:初始化
Kubernetes - 用途:初始化
Kubernetes - 相关:工作节点不需要此参数。如果要重置
Kubernetes清空数据及配置,请执行kubeadm reset,并在提示中输入y, 重置完成需要删除/etc/cni/net.d文件夹、$HOME/.kube/config文件
kubernetes-init-node-name
- 类型:
String - 说明:初始化节点名称
- 用途:用于
控制节点(控制平面)初始化时自定义当前节点的名称 - 相关:如果未定义,将使用宿主机的名称作为节点名称。整个集群唯一。
kubernetes-init-congrats
- 类型:
Boolean - 说明:初始化完成后的提示
- 用途:用于提示
刷新环境变量或SSH 重新连接后,才能正常控制Kubernetes
helm-install
- 类型:
Boolean - 说明:是否安装
helm - 安装路径:
/usr/local/bin/helm
helm-url
- 类型:
String - 说明:安装
helm时的下载地址 - 相关:优先级高于
helm-version、helm-repo-type
helm-version
- 类型:
String - 说明:安装
helm时下载的版本 - 默认值:
v3.19.0
helm-repo-type
- 类型:
String - 说明:安装
helm时下载的仓库 - 默认值:
huawei - 可选值:
huawei:从 https://mirrors.huaweicloud.com/helm 下载helm:从 https://get.helm.sh 下载
control-plane-endpoint
警告
kubeadm不支持将没有--control-plane-endpoint参数的单个控制平面集群转换为高可用性集群。- 如果要在现有集群中将加入的节点设置为
控制节点(控制平面),必须在首次初始化集群时配置此参数- 如果要在现有集群中将加入的节点设置为
工作节点(默认行为),则无需配置此选项
- 如果要在现有集群中将加入的节点设置为
- 此配置属于
高可用方案中的配置,--control-plane-endpoint应该使用VIP(虚拟 IP,VIP所在的机器故障、Kubernetes故障时,自动转移到其他可用的控制节点上), 如果将--control-plane-endpoint设置的是某个控制平面上的固定 IP, 如果这台机器宕机、机器上的Kubernetes宕机,则整个集群将宕机。 如果是VIP,则不受单一控制节点(控制平面)节点故障的影响(宕机数量要小于 50%)
- 类型:
String - 说明:初始化
Kubernetes时为所有控制节点(控制平面)设置共享端点 - 相关:
- 一般设置为负载均衡器代理的
控制节点(控制平面)的6443端口的地址- 如果非要在不是
高可用方案中配置,或将来可能把单机模式、集群模式转化为高可用模式, 或将后来加入集群的节点角色设置为控制节点(控制平面), 可暂时设置为 初始化Kubernetes集群的地址, 如:192.168.1.12:6443,其中192.168.1.12是 初始化Kubernetes集群的 IP
- 如果非要在不是
- 一般设置为负载均衡器代理的
service-cidr
- 类型:
String - 默认值:
10.96.0.0/12 - 说明:自定义
KubernetesServiceCIDR
pod-network-cidr
- 类型:
String - 说明:自定义
KubernetesPodCIDR
print-join-command
警告
- 只能在
控制节点(控制平面)中使用,默认情况下工作节点不可使用 控制节点(控制平面)需要能正常控制Kubernetes
- 类型:
Boolean - 说明:在
控制节点(控制平面)打印工作节点加入集群的命令 - 用途:工作节点环境准备完成后,在
控制节点(控制平面)打印工作节点加入集群的命令,复制到工作节点运行即可
interface-name
- 类型:
String - 说明:自定义网卡名称
- 默认值:无,会联网访问
阿里云 DNS223.5.5.5自动检测上网网卡 - 用途:在
calico安装配置时使用
calico-install
- 类型:
Boolean - 说明:是否安装
calico
calico-url
- 类型:
String - 说明:
calico安装(初始化)时,使用的manifests文件URL,支持本地文件 - 默认值:空
- 相关:优先级高于
calico-mirror、calico-version
calico-mirror
- 类型:
String - 说明:
calico安装(初始化)时,拼接生成calico-url, 拼接规则:calico_url=$calico_mirror/$calico_version/manifests/calico.yaml - 默认值:https://k8s-sh.xuxiaowei.com.cn/mirrors/projectcalico/calico
- 可选值:
- 相关:优先级低于
calico-url
calico-node-image
- 类型:
String - 说明:
calico需要使用的镜像docker.io/calico/node下载地址 - 默认值:
registry.cn-qingdao.aliyuncs.com/xuxiaoweicomcn/calico-node - 可选值:
registry.cn-qingdao.aliyuncs.com/xuxiaoweicomcn/calico-nodedocker.io/calico/node
calico-cni-image
- 类型:
String - 说明:
calico需要使用的镜像docker.io/calico/cni下载地址 - 默认值:
registry.cn-qingdao.aliyuncs.com/xuxiaoweicomcn/calico-cni - 可选值:
registry.cn-qingdao.aliyuncs.com/xuxiaoweicomcn/calico-cnidocker.io/calico/cni
calico-kube-controllers-image
- 类型:
String - 说明:
calico需要使用的镜像docker.io/calico/kube-controllers下载地址 - 默认值:
registry.cn-qingdao.aliyuncs.com/xuxiaoweicomcn/calico-kube-controllers - 可选值:
registry.cn-qingdao.aliyuncs.com/xuxiaoweicomcn/calico-kube-controllersdocker.io/calico/kube-controllers
calico-version
- 类型:
String - 说明:
calico安装(初始化)时,拼接生成calico-url, 拼接规则:calico_url=$calico_mirror/$calico_version/manifests/calico.yaml - 默认值:
v3.30.4 - 可选值:
- 相关:优先级低于
calico-url
calico-init
- 类型:
Boolean - 说明:网络插件
calico初始化 - 用途:安装
calico,初始化Kubernetes集群中的网络,如果网络未初始化,Kubernetes则不可使用 - 相关:网络插件有多种,此处使用
calico为例
kubernetes-taint
- 类型:
Boolean - 说明:
Kubernetes控制节点(控制平面)去污 - 用途:此操作会将所有控制节点去污,即:将
控制节点(控制平面)作为工作节点使用 - 相关:默认情况下,
控制节点(控制平面)无法部署常规容器,去污后可随意部署容器
enable-shell-autocompletion
- 类型:
Boolean - 说明:启用 shell 自动补全功能
- 用途:使用
kubectl命令时,按Tab键可快速补充命令
ingress-nginx-install
- 类型:
Boolean - 说明:安装
Ingress Nginx - 用途:用于在
Kubernetes中使用Nginx代理Service
ingress-nginx-version
- 类型:
String - 说明:
Ingress Nginx安装时,拼接生成ingress-nginx-url, 拼接规则:ingress_nginx_url=$ingress_nginx_mirror/controller-$ingress_nginx_version/deploy/static/provider/cloud/deploy.yaml - 默认值:
v1.12.1 - 可选值:
- 查看 https://gitlab.xuxiaowei.com.cn/mirrors/github.com/kubernetes/ingress-nginx/-/tags?search=controller 中名称包含
controller的标签 - 查看 https://github.com/kubernetes/ingress-nginx/tags 中名称包含
controller的标签
- 查看 https://gitlab.xuxiaowei.com.cn/mirrors/github.com/kubernetes/ingress-nginx/-/tags?search=controller 中名称包含
- 相关:优先级低于
ingress-nginx-url
ingress-nginx-url
- 类型:
String - 说明:
Ingress Nginx安装时,使用的manifests文件URL,支持本地文件 - 默认值:空
- 相关:优先级高于
ingress-nginx-mirror、ingress-nginx-version
ingress-nginx-mirror
- 类型:
String - 说明:
Ingress Nginx安装时,拼接生成ingress-nginx-url, 拼接规则:ingress_nginx_url=$ingress_nginx_mirror/controller-$ingress_nginx_version/deploy/static/provider/cloud/deploy.yaml - 默认值:https://gitlab.xuxiaowei.com.cn/mirrors/github.com/kubernetes/ingress-nginx/-/raw
- 可选值:
- 相关:优先级低于
ingress-nginx-url
ingress-nginx-controller-image
- 类型:
String - 说明:
Ingress Nginx需要使用的镜像registry.k8s.io/ingress-nginx/controller下载地址 - 默认值:
registry.cn-qingdao.aliyuncs.com/xuxiaoweicomcn/ingress-nginx-controller - 可选值:
registry.cn-qingdao.aliyuncs.com/xuxiaoweicomcn/ingress-nginx-controllerregistry.k8s.io/ingress-nginx/controller- 自定义
ingress-nginx-kube-webhook-certgen-image
- 类型:
String - 说明:
Ingress Nginx需要使用的镜像registry.k8s.io/ingress-nginx/kube-webhook-certgen下载地址 - 默认值:
registry.cn-qingdao.aliyuncs.com/xuxiaoweicomcn/ingress-nginx-kube-webhook-certgen - 可选值:
registry.cn-qingdao.aliyuncs.com/xuxiaoweicomcn/ingress-nginx-kube-webhook-certgenregistry.k8s.io/ingress-nginx/kube-webhook-certgen
ingress-nginx-host-network
- 类型:
Boolean - 说明:配置
Ingress Nginx使用宿主机网络 - 用途:
Ingress Nginx使用宿主机的80、443端口 - 相关:请确保
Kubernetes工作节点的宿主机80、443端口 没有被其他应用占用
ingress-nginx-allow-snippet-annotations
危险
Ingress Nginx正常情况下只代理到Service,无需手写代理,不用增加此配置- 如果要手写代理,需要增加此配置,此时要严格管理
Kubernetes的Ingress权限,避免敏感信息泄露, 参见:CVE-2021-25742:https://github.com/kubernetes/kubernetes/issues/126811
- 类型:
Boolean - 说明:允许
Ingress Nginx使用代码片段 - 用途:允许在
Ingress Nginx中使用自定义代理,如:yamlapiVersion: networking.k8s.io/v1 kind: Ingress metadata: annotations: nginx.ingress.kubernetes.io/server-snippet: | location ~ /(.*) { rewrite ^/(.*) /$1 break; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; proxy_set_header X-real-ip $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; proxy_pass http://10.97.34.18:8080; proxy_connect_timeout 60s; proxy_read_timeout 3600s; proxy_send_timeout 3600s; } ...
metrics-server-install
- 类型:
Boolean - 说明:安装
Metrics Server - 用途:支持
Kubernetes运行kubectl top node、kubectl top pod命令
metrics-server-url
- 类型:
String - 说明:
Metrics Server安装时,使用的manifests文件URL,支持本地文件 - 默认值:空
- 相关:优先级高于
metrics-server-mirror、metrics-server-version
metrics-server-version
- 类型:
String - 说明:
Metrics Server安装时,拼接生成metrics-server-url, 拼接规则:metrics_server_url=$metrics_server_mirror/$metrics_server_version/components.yaml - 默认值:
v0.7.2
metrics-server-mirror
- 类型:
String - 说明:
Metrics Server安装时,拼接生成metrics-server-url, 拼接规则:metrics_server_url=$metrics_server_mirror/$metrics_server_version/components.yaml - 默认值:https://k8s-sh.xuxiaowei.com.cn/mirrors/kubernetes-sigs/metrics-server
metrics-server-image
- 类型:
String - 说明:
Metrics Server需要使用的镜像registry.k8s.io/metrics-server/metrics-server下载地址 - 默认值:
registry.cn-qingdao.aliyuncs.com/xuxiaoweicomcn/metrics-server - 可选值:
registry.cn-qingdao.aliyuncs.com/xuxiaoweicomcn/metrics-serverregistry.k8s.io/metrics-server/metrics-server
metrics-server-secure-tls
- 类型:
Boolean - 说明:使用
安全的Kubernetes的apiserver接口的TLS证书,强烈不推荐配置此选项, 这里涉及Kubernetes需要使用权威机构颁发的证书, 并且Metrics Server容器内还要包含、信任该证书的证书链(根证书) - 相关:
Metrics Server官方默认配置情况下需要使用安全的TLS证书, 这将导致Metrics Server无法正常连接到Kubernetes的apiserver,所以安装时存在默认行为: 忽略TLS证书验证--kubelet-insecure-tls
helm-install-kubernetes-dashboard
- 类型:
Boolean - 说明:是否启用
helm安装Kubernetes Dashboard - 默认值:
false
kubernetes-dashboard-chart
- 类型:
String - 说明:
Kubernetes Dashboardchart仓库地址 - 默认值:
http://k8s-sh.xuxiaowei.com.cn/charts/kubernetes/dashboard - 可选值:
kubernetes-dashboard-version
- 类型:
String - 说明:
Kubernetes Dashboardchart版本 - 默认值:
7.10.4
kubernetes-dashboard-auth-image
- 类型:
String - 说明:
Kubernetes Dashboard所需镜像 - 默认值:
registry.cn-qingdao.aliyuncs.com/xuxiaoweicomcn/kubernetesui-dashboard-auth - 可选值:
registry.cn-qingdao.aliyuncs.com/xuxiaoweicomcn/kubernetesui-dashboard-authdocker.io/kubernetesui/dashboard-auth
kubernetes-dashboard-api-image
- 类型:
String - 说明:
Kubernetes Dashboard所需镜像 - 默认值:
registry.cn-qingdao.aliyuncs.com/xuxiaoweicomcn/kubernetesui-dashboard-api - 可选值:
registry.cn-qingdao.aliyuncs.com/xuxiaoweicomcn/kubernetesui-dashboard-apidocker.io/kubernetesui/dashboard-api
kubernetes-dashboard-web-image
- 类型:
String - 说明:
Kubernetes Dashboard所需镜像 - 默认值:
registry.cn-qingdao.aliyuncs.com/xuxiaoweicomcn/kubernetesui-dashboard-web - 可选值:
registry.cn-qingdao.aliyuncs.com/xuxiaoweicomcn/kubernetesui-dashboard-webdocker.io/kubernetesui/dashboard-web
kubernetes-dashboard-metrics-scraper-image
- 类型:
String - 说明:
Kubernetes Dashboard所需镜像 - 默认值:
registry.cn-qingdao.aliyuncs.com/xuxiaoweicomcn/kubernetesui-dashboard-metrics-scraper - 可选值:
registry.cn-qingdao.aliyuncs.com/xuxiaoweicomcn/kubernetesui-dashboard-metrics-scraperdocker.io/kubernetesui/dashboard-metrics-scraper
kubernetes-dashboard-kong-image
- 类型:
String - 说明:
Kubernetes Dashboard所需镜像 - 默认值:
registry.cn-qingdao.aliyuncs.com/xuxiaoweicomcn/kong - 可选值:
registry.cn-qingdao.aliyuncs.com/xuxiaoweicomcn/kongdocker.io/library/kong
kubernetes-dashboard-ingress-enabled
- 类型:
String - 说明:
Kubernetes Dashboard是否启用ingress - 默认值:
true - 可选值:
truefalse
kubernetes-dashboard-ingress-host
- 类型:
String - 说明:
Kubernetes Dashboardingress所需域名 - 默认值:
kubernetes.dashboard.xuxiaowei.com.cn
kube-prometheus-install
- 类型:
Boolean - 说明:安装
kube-prometheus
kube-prometheus-version
- 类型:
String - 说明:安装
kube-prometheus版本 - 默认值:
v0.14.0
kube-prometheus-url
- 类型:
String - 说明:安装
kube-prometheus时,下载标签的压缩包地址,优先级高于kube-prometheus-version - 默认值:空
grafana-image
- 类型:
String - 说明:
grafana镜像 - 默认值:
registry.cn-qingdao.aliyuncs.com/xuxiaoweicomcn/grafana - 可选值:
registry.cn-qingdao.aliyuncs.com/xuxiaoweicomcn/grafanagrafana/grafana
kube-state-metrics-image
- 类型:
String - 说明:
kube-state-metrics镜像 - 默认值:
registry.cn-qingdao.aliyuncs.com/xuxiaoweicomcn/kube-state-metrics - 可选值:
registry.cn-qingdao.aliyuncs.com/xuxiaoweicomcn/kube-state-metricsregistry.k8s.io/kube-state-metrics/kube-state-metricsk8s.gcr.io/kube-state-metrics/kube-state-metrics
prometheus-adapter-image
- 类型:
String - 说明:
prometheus-adapter镜像 - 默认值:
registry.cn-qingdao.aliyuncs.com/xuxiaoweicomcn/prometheus-adapter - 可选择:
registry.cn-qingdao.aliyuncs.com/xuxiaoweicomcn/prometheus-adapterregistry.k8s.io/prometheus-adapter/prometheus-adapterk8s.gcr.io/prometheus-adapter/prometheus-adapter
jimmidyson-configmap-reload-image
- 类型:
String - 说明:
jimmidyson/configmap-reload镜像 - 默认值:
registry.cn-qingdao.aliyuncs.com/xuxiaoweicomcn/configmap-reload - 可选择:
registry.cn-qingdao.aliyuncs.com/xuxiaoweicomcn/configmap-reloadjimmidyson/configmap-reload
kube-prometheus-node-port
- 类型:
Boolean - 说明:是否开启
kube-prometheusNodePort
prometheus-k8s-web-9090-node-port
- 类型:
Number - 说明:
kube-prometheus开启NodePort时,prometheus-k8sServiceweb使用的NodePort - 默认值:
30790
prometheus-k8s-reloader-web-8080-node-port
- 类型:
Number - 说明:
kube-prometheus开启NodePort时,prometheus-k8sServicereloader-web使用的NodePort - 默认值:
30780
alertmanager-main-web-9093-node-port
- 类型:
Number - 说明:
kube-prometheus开启NodePort时,alertmanager-mainServiceweb使用的NodePort - 默认值:
30893
alertmanager-main-reloader-web-8080-node-port
- 类型:
Number - 说明:
kube-prometheus开启NodePort时,alertmanager-mainServicereloader-web使用的NodePort - 默认值:
30880
grafana-http-3000-node-port
- 类型:
Number - 说明:
kube-prometheus开启NodePort时,grafanaServicehttp使用的NodePort - 默认值:
30900
kube-prometheus-remote-access
- 类型:
Boolean - 说明:
kube-prometheus是否开启远程访问
dn-c
- 类型:
String - 说明:
openssl证书的国家/地区 - 默认值:
CN
dn-st
- 类型:
String - 说明:
openssl证书的州/省 - 默认值:
Shandong
dn-l
- 类型:
String - 说明:
openssl证书的城市 - 默认值:
Qingdao
dn-o
- 类型:
String - 说明:
openssl证书的组织 - 默认值:
xuxiaowei
dn-ou
- 类型:
String - 说明:
openssl证书的组织单位 - 默认值:
xuxiaowei
dn-cn
- 类型:
String - 说明:
openssl证书的通用名称,即域名 - 默认值:当前机器的 IP
etcd-binary-install
警告
- 仅在
首台初始化集群的节点中使用 后续节点加入集群时,请使用etcd-binary-join参数- 此配置用于独立安装
二进制etcd - 支持
单节点 多节点安装时,请在所有节点完成安装后,执行etcdctl --cacert=/etc/etcd/pki/ca.crt --cert=/etc/etcd/pki/peer.crt --key=/etc/etcd/pki/peer.key --endpoints=$ETCD_ENDPOINTS endpoint health进行测试,其中ETCD_ENDPOINTS示例https://172.25.25.53:2379,https://172.25.25.54:2379,https://172.25.25.55:2379, 多个节点使用,分隔- 单节点会自动测试
- 证书位置:
/etc/etcd/pki/ca.crt/etc/etcd/pki/ca.key/etc/etcd/pki/server.crt/etc/etcd/pki/server.key/etc/etcd/pki/peer.crt/etc/etcd/pki/peer.key
- 类型:
Boolean - 说明:启用
etcd二进制初始化集群
etcd-ips
警告
- 仅在
首台初始化集群的节点中使用 后续节点加入集群时,无需配置(脚本会根据已有的配置,分析并自动配置后续节点的配置)后续节点的 IP 必须在此配置中
- 说明:
etcd二进制初始化集群时,集群内各节点的IP及节点名称; 在Kubernetes初始化时,可用于配置Kubernetes使用外部 etcd - 默认值:空
- 示例:
etcd-ips=172.25.25.53 etcd-ips=172.25.25.54 etcd-ips=172.25.25.55- etcd 集群中存在三个节点,IP 分别是:
172.25.25.53、172.25.25.54、172.25.25.55 - etcd 每个节点的名称分别是:
etcd-1、etcd-2、etcd-3- 脚本会根据读取到的
etcd-ips的顺序,分配 etcd 节点名称,名称前缀etcd-,后缀为读取到的顺序,从1开始
- 脚本会根据读取到的
- etcd 集群中存在三个节点,IP 分别是:
etcd-ips=172.25.25.53@etcd-node-1 etcd-ips=172.25.25.54@etcd-node-2 etcd-ips=172.25.25.55@etcd-node-3- etcd 集群中存在三个节点,IP 分别是:
172.25.25.53、172.25.25.54、172.25.25.55 - etcd 每个节点的名称分别是:
etcd-node-1、etcd-node-2、etcd-node-3 - 如果要设置节点名称,请使用
@分隔 - 如果要设置节点名称,请将所有 IP 设置节点名称 (只允许
全部忽略名称或全部设置名称两种情况,如果出现部分 IP 设置了名称,程序将终止运行)
- etcd 集群中存在三个节点,IP 分别是:
etcd-client-port-2379
- 说明:自定义
etcdclient端口 - 默认值:
2379
etcd-peer-port-2380
- 说明:自定义
etcdpeer端口 - 默认值:
2380
etcd-url
- 类型:
String - 说明:
etcd二进制安装时,下载二进制压缩包的地址,仅在首台初始化集群的节点中使用 - 默认值:空
- 相关:优先级高于
etcd-mirror、etcd-version
etcd-mirror
- 类型:
String - 说明:
etcd二进制安装时,用于拼接生成etcd-url,仅在首台初始化集群的节点中使用 - 默认值:https://mirrors.huaweicloud.com/etcd
- 可选值:
etcd-version
- 类型:
String - 说明:
etcd二进制安装时,下载etcd的版本,用于拼接etcd-url, 拼接规则:etcd_url=$etcd_mirror/$etcd_version/etcd-$etcd_version-linux-amd64.tar.gz仅在首台初始化集群的节点中使用 - 默认值:
v3.6.5
etcd-current-ip
- 类型:
String - 说明:
etcd初始化集群、加入集群时,当前机器的 IP - 默认值:使用
$(hostname -I | awk '{print $1}')自动获取 - 注意:
- 此配置可为空,为空时使用
$(hostname -I | awk '{print $1}')获取 - 如果当前执行命令的宿主机存在多个网卡,请配置此选项,否则自动获取的 IP 可能不满足要求
- 如果是安装
etcd集群,此配置必须在etcd-ips列表中,否则将终止安装
- 此配置可为空,为空时使用
etcd-binary-join
- 类型:
Boolean - 说明:启用
etcd后续节点加入集群
etcd-join-ip
- 类型:
String
etcd-join-port
- 类型:
Number - 说明:
etcd后续节点加入集群时,首台初始化的etcd节点SSH端口 - 默认值:
22
etcd_join_password
警告
etcd_join_password属于配置文件中的配置,不属于参数,仅能在config参数指定的配置文件中使用- 如果要使用,请在配置文件中使用键值对表示
- 解释:在参数中使用,存在密码泄露风险
- 类型:
String - 说明:
etcd后续节点加入集群时,首台初始化的etcd节点SSH密码 - 默认值:空,为空时需要在提示中手动设置密码
etcd-cafile
- 类型:
String - 说明:
etcdTLSCA 证书路径,仅在Kubernetes初始化时有效,用于配置Kubernetes使用外部 etcd - 使用:如果使用本脚本安装的
etcd,路径应该设置为安装etcd服务器/etc/etcd/pki/ca.crt文件路径- 如果
Kubernetes与etcd不在一台服务器,需要将etcd服务器的文件同步到Kubernetes机器
- 如果
etcd-certfile
- 类型:
String - 说明:
etcdTLS客户证书路径,仅在Kubernetes初始化时有效,用于配置Kubernetes使用外部 etcd - 使用:如果使用本脚本安装的
etcd,路径应该设置为安装etcd服务器/etc/etcd/pki/peer.crt文件路径- 如果
Kubernetes与etcd不在一台服务器,需要将etcd服务器的文件同步到Kubernetes机器
- 如果
etcd-keyfile
- 类型:
String - 说明:
etcdTLS客户私钥路径,仅在Kubernetes初始化时有效,用于配置Kubernetes使用外部 etcd - 使用:如果使用本脚本安装的
etcd,路径应该设置为安装etcd服务器/etc/etcd/pki/peer.key文件路径- 如果
Kubernetes与etcd不在一台服务器,需要将etcd服务器的文件同步到Kubernetes机器
- 如果