【发布时间】:2020-12-04 21:46:16
【问题描述】:
使用过的版本:
kubeadm version: &version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.6", GitCommit:"dff82dc0de47299ab66c83c626e08b245ab19037", GitTreeState:"clean", BuildDate:"2020-07-15T16:56:34Z", GoVersion:"go1.13.9", Compiler:"gc", Platform:"linux/amd64"}
要使用另一个注册表而不是公共注册表将新的主节点加入控制平面以进行下载,我需要使用带有“--configfile”参数命令行的 kubeadm。我将 k8s 容器镜像加载到我的注册表中,并尝试相应地使用 kubeadm。不幸的是,在这种情况下,kubeadm 不接受配置文件中的“证书密钥”。
kubeadm join my-k8s-api.de:443 --config kubeadm-join-config.yaml
配置文件如下所示:
---
apiVersion: kubeadm.k8s.io/v1beta1
kind: JoinConfiguration
discovery:
bootstrapToken:
apiServerEndpoint: "my-k8s-api.de:443"
caCertHashes:
- "sha256:9a5687aed5397958ebbca1c421ec56356dc4a5394f6846a64b071d56b3b41a7a"
token: "4bh3s7.adon04r87zyh7gwj"
nodeRegistration:
kubeletExtraArgs:
# pause container image
pod-infra-container-image: my-registry.de:5000/pause:3.1
controlPlane:
certificateKey: "eb3abd79fb011ced254f2c834079d0fa2af62718f6b4750a1e5309c36ed40383"```
其实我回来了:
W1204 12:47:12.944020 54671 strict.go:54] error unmarshaling configuration schema.GroupVersionKind{Group:"kubeadm.k8s.io", Version:"v1beta1", Kind:"JoinConfiguration"}: error unmarshaling JSON: while decoding JSON: json: unknown field "certificateKey"
当我使用“kubeadm --control-plane --certificate-key XXXXXXXXX”时,我可以成功地将主节点加入控制平面,但这需要节点能够访问互联网。
有什么猜测吗? 我是不是打错字了?
【问题讨论】:
标签: kubernetes kubeadm