问题描述
我试图在除分配给默认接口的IP之外的IP上设置Kubernetes主服务器。这些是我对kubeadm-config.yml
所做的更改:
---
apiVersion: kubeadm.k8s.io/v1beta2
kind: ClusterConfiguration
controlPlaneEndpoint: x.x.x.x
apiServer:
extraArgs:
advertise-address: x.x.x.x
certSANs:
- x.x.x.x
etcd:
local:
dataDir: /var/lib/etcd
extraArgs:
advertise-client-urls: https://x.x.x.x:2379
initial-advertise-peer-urls: https://x.x.x.x:2380
initial-cluster: my-hostname=https://x.x.x.x:2380
listen-client-urls: https://127.0.0.1:2379,https://x.x.x.x:2379
listen-peer-urls: https://x.x.x.x:2380
initial-cluster-state: new
serverCertSANs:
- x.x.x.x
peerCertSANs:
- x.x.x.x
其中x.x.x.x
是非默认IP。
除了api服务器的活动性探针外,其他所有东西似乎都设置正确。在/etc/kubernetes/manifests/kube-apiserver.yaml
,我仍然看到
livenessProbe:
failureThreshold: 8
httpGet:
host: y.y.y.y
path: /healthz
port: 6443
scheme: HTTPS
y.y.y.y
是旧IP。
有人知道我需要添加到kubeadm-config.yml
上的什么键来设置此权限吗?
山姆
解决方法
再现您的配置,我发现InitConfiguration
的{{1}}部分是必需的。
以下kubeadm-config
部分应指示kubeadm-config.yaml
根据您的需要配置kubeadm
:
kube-apiserver
有关详细信息,请阅读相关的GoDoc页面: