从 v1.8.0 开始,kubeadm 将集群的配置上传到名为 kube-system 的 ConfigMap 对象中,对象位于 kube-system 命名空间内。并在以后的升级中读取这个 ConfigMap 配置对象。 这样可以保证系统组件的正确配置,提供无缝的用户体验。
您可以执行 kubeadm config view 来查看 ConfigMap。如果使用 kubeadm v1.7.x 或更低版本来初始化群集,必须先使用 kubeadm config upload 创建 ConfigMap,然后才能使用 kubeadm upgrade。
在 Kubernetes v1.11.0 中,添加了一些新命令。你可以使用 kubeadm config print-default 打印默认配置,可以用 kubeadm config migrate 来将旧的配置文件转换到较新的版本,还可以使用 kubeadm config images list 和 kubeadm config images pull 列出并拉取 kubeadm 所需的镜像。
将配置文件上传到集群内的 ConfigMap 以进行 kubeadm 配置。
使用此命令,您可以使用与 ‘kubeadm init’ 相同的配置文件将配置上传到集群中的 ConfigMap。 如果您使用的是 v1.7.x 或更低版本的 kubeadm 客户端初始化集群并且使用了 –config 选项,那么在使用 ‘kubeadm upgrade’ 升级到 v1.8 之前,您需要使用相同的配置文件运行此命令。
该配置位于 “kube-system” 名称空间中的名为 “kubeadm-config” 的 ConfigMap 中。
kubeadm config upload from-file [flags]
--config string | |
指向 kubeadm 配置文件的路径。警告:配置文件的使用是实验性的。 | |
-h, --help | |
帮助文件 |
--kubeconfig string 默认值: "/etc/kubernetes/admin.conf" | |
用于和集群通信的 KubeConfig 文件。如果它没有被设置,那么 kubeadm 将会搜索一个已经存在于标准路径的 KubeConfig 文件。 | |
--rootfs string | |
[实验] 到'真实'主机根文件系统的路径。 |
首次使用 flags 参数创建群集内配置文件。
使用此命令,您可以使用与 ‘kubeadm init’ 相同的配置文件将配置上传到集群中的 ConfigMap。 如果使用 v1.7.x 或更低版本的 kubeadm 客户端初始化集群并且使用 –config 选项,则需要在使用 ‘kubeadm upgrade’ 升级到 v1.8 之前使用相同的配置文件运行此命令。
该配置位于 “kube-system” 名称空间中的名为 “kubeadm-config” 的 ConfigMap 中。
kubeadm config upload from-file [flags]
--apiserver-advertise-address string | |
一个 IP 地址,API 服务器将宣告该 IP 地址正在监听。默认指定 '0.0.0.0' 用于网络接口的地址。 | |
--apiserver-bind-port int32 默认值: 6443 | |
用于绑定 API 服务器的端口。 | |
--apiserver-cert-extra-sans stringSlice | |
用于 API 服务器服务证书的可选额外主题替代名称(SANs)。可以是 IP 地址和 DNS 名称。 | |
--cert-dir string 默认值: "/etc/kubernetes/pki" | |
保存和存储证书的路径。 | |
--cri-socket string 默认值: "/var/run/dockershim.sock" | |
指定要连接的 CRI 套接字。 | |
--feature-gates string | |
一组键=值对,用于描述各种特性的特性门。选项: |
|
-h, --help | |
from-flags 帮助 | |
--kubernetes-version string 默认值: "stable-1" | |
为控制平面选择一个特定的 Kubernetes 版本。 | |
--node-name string | |
指定节点名。 | |
--pod-network-cidr string | |
指定 pod 网络的 IP 地址范围。如果设置,控制平面将自动为每个节点分配 CIDRs。 | |
--service-cidr string 默认值: "10.96.0.0/12" | |
使用可替代的 IP 地址范围进行服务。 | |
--service-dns-domain string 默认值: "cluster.local" | |
为服务使用替代域名,例如: "myorg.internal"。 |
--kubeconfig string Default: "/etc/kubernetes/admin.conf" | |
用于和集群通信的 KubeConfig 文件。如果它没有被设置,那么 kubeadm 将会搜索一个已经存在于标准路径的 KubeConfig 文件。 | |
--rootfs string | |
[实验] 到'真实'主机根文件系统的路径。 |
查看存储在集群中的 kubeadm 配置
使用此命令,可以查看 kubeadm 配置的集群中的 ConfigMap。
该配置位于 “kube-system” 名称空间中的名为 “kubeadm-config” 的 ConfigMap 中。
kubeadm config view [flags]
-h, --help | |
view 操作的帮助信息 |
--kubeconfig string 默认值:"/etc/kubernetes/admin.conf" | |
用于和集群通信的 KubeConfig 文件。如果它没有被设置,那么 kubeadm 将会搜索一个已经存在于标准路径的 KubeConfig 文件。 | |
--rootfs string | |
[实验] 到'真实'主机根文件系统的路径。 |
打印 kubeadm 配置对象的默认值。
此命令打印用于 ‘kubeadm init’ 和 ‘kubeadm upgrade’ 的默认 InitConfiguration 对象,以及用于 ‘kubeadm join’ 的默认 JoinConfiguration 对象。
注意,如引导令牌字段这类敏感值会被替换为简单的值,如{“abcdef.0123456789abcdef” “” “nil”
kubeadm config print-default [flags]
--api-objects stringSlice | |
API 对象打印默认值的逗号分隔列表。可用值:[InitConfiguration ClusterConfiguration JoinConfiguration KubeProxyConfiguration KubeletConfiguration MasterConfiguration]。此参数未设置时表示“打印所有已知对象” | |
-h, --help | |
print-default 操作的帮助信息 |
--kubeconfig string Default: "/etc/kubernetes/admin.conf" | |
用于和集群通信的 KubeConfig 文件。如果它没有被设置,那么 kubeadm 将会搜索一个已经存在于标准路径的 KubeConfig 文件。 | |
--rootfs string | |
[实验] 到'真实'主机根文件系统的路径。 |
从旧版本的文件中读取 kubeadm 配置 API的类型,并为新版本输出类似的配置对象。
此命令允许您在 CLI 工具中将本地旧版本的配置对象转换为最新支持的版本,而无需触及群集中的任何内容。在此版本的 kubeadm 中,支持以下 API 版本:
此外,kubeadm 只能写出版本”kubeadm.k8s.io/v1alpha3”的配置,但能够读取这两种类型,不管你传递给 –old-config 的参数是什么版本,在写入 stdout 或 –new-config(如果指定时),API 对象都是 读取、反序列化、应用默认设置、执行版本转换与合法性验证,并在输出时重新序列化。
换句话说这个命令的输出就是 kubeadm 在内部读取的内容 提交这个文件到 “kubeadm init”
kubeadm config migrate [flags]
-h, --help | |
migrate 操作的帮助信息 | |
--new-config string | |
使用新的 API 版本生成的 kubeadm 配置文件的路径。这个路径是可选的。如果没有指定,输出将被写到 stdout。 | |
--old-config string | |
使用旧 API 版本的、需要进行转换的 kubeadm 配置文件路径。此参数是必需的。 |
--kubeconfig string 默认值: "/etc/kubernetes/admin.conf" | |
用于和集群通信的 KubeConfig 文件。如果它没有被设置,那么 kubeadm 将会搜索一个已经存在于标准路径的 KubeConfig 文件。 | |
--rootfs string | |
[实验] 到'真实'主机根文件系统的路径。 |
打印 kubeadm 要使用的镜像列表。配置文件用于自定义任何镜像或镜像存储库。
打印 kubeadm 要使用的镜像列表。配置文件用于自定义任何镜像或镜像存储库。
kubeadm config images list [flags]
--config string | |
kubeadm 配置文件的路径。 | |
--feature-gates string | |
一组键=值对,用于描述各种特性的特性门。选项有: Auditing=true|false (ALPHA - default=false) CoreDNS=true|false (default=true) DynamicKubeletConfig=true|false (BETA - default=false) |
|
-h, --help | |
list 操作的帮助信息 | |
--kubernetes-version string 默认值: "stable-1" | |
为控制平面选择一个特定的 Kubernetes 版本 |
--kubeconfig string 默认值: "/etc/kubernetes/admin.conf" | |
用于和集群通信的 KubeConfig 文件。如果它没有被设置,那么 kubeadm 将会搜索一个已经存在于标准路径的 KubeConfig 文件。 | |
--rootfs string | |
[实验] 到'真实'主机根文件系统的路径。 |
拉取 kubeadm 使用的图像。
拉取 kubeadm 使用的图像。
kubeadm config images pull [flags]
--config string | |
kubeadm 配置文件的路径。 | |
--cri-socket string 默认值:"/var/run/dockershim.sock" | |
指定要连接的 CRI 套接字。 | |
--feature-gates string | |
一组键=值对,用于描述各种特性的特性门。选项: Auditing=true|false (ALPHA - default=false) CoreDNS=true|false (default=true) DynamicKubeletConfig=true|false (BETA - default=false) |
|
-h, --help | |
pull 操作的帮助信息 | |
--kubernetes-version string 默认值: "stable-1" | |
为控制平面选择一个特定的 Kubernetes 版本。 |
--kubeconfig string 默认值: "/etc/kubernetes/admin.conf" | |
用于和集群通信的 KubeConfig 文件。如果它没有被设置,那么 kubeadm 将会搜索一个已经存在于标准路径的 KubeConfig 文件。 | |
--rootfs string | |
[实验] 到'真实'主机根文件系统的路径。 |
此页是否对您有帮助?
Thanks for the feedback. If you have a specific, answerable question about how to use Kubernetes, ask it on Stack Overflow. Open an issue in the GitHub repo if you want to report a problem or suggest an improvement.