我在裸机集群上设置了一个 k8skubeadm init
集群。
我注意到kube-apiserver
它在私有 IP 上暴露了它的接口:
# kubectl get pods kube-apiserver-cluster1 -n kube-system -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
kube-apiserver-cluster1 1/1 Running 0 6d22h 10.11.1.99 cluster1 <none> <none>
这是集群内的 kube 配置:
# kubectl config view
apiVersion: v1
clusters:
- cluster:
certificate-authority-data: DATA+OMITTED
server: https://10.11.1.99:6443
name: kubernetes
contexts:
- context:
cluster: kubernetes
user: kubernetes-admin
name: kubernetes-admin@kubernetes
current-context: kubernetes-admin@kubernetes
kind: Config
preferences: {}
users:
- name: kubernetes-admin
user:
client-certificate-data: REDACTED
client-key-data: REDACTED
这对于在集群上本地使用来说很好kubectl
,但我想添加一个额外的接口来公开kube-apiserver
使用公共 IP 地址。最终,我尝试kubectl
从笔记本电脑进行配置以远程访问集群。
如何kube-apiserver
在外部 IP 地址上公开?