security - 如何配置 kubernetes 以便我可以从笔记本电脑向主机发出命令?
问题描述
我现在正在尝试设置一台机器的集群。我知道我可以让 API 服务器运行并监听一些端口。
我正在寻找从我的笔记本电脑对主机发出命令。
KUBECONFIG=/home/slackware/kubeconfig_of_master kubectl get nodes
应该向主机发送请求,访问 API 服务器,并获得运行节点的响应。
但是,我遇到了权限问题。一个类似于x509: certificate is valid for 10.61.164.153, not 10.0.0.1
。kubectl proxy --port=8080
如果我点击在主机上运行的另一个是 403 。
我认为两种解决方案是可能的,最好的一个(B):
A. 将我的笔记本电脑的 IP 地址添加到 API 服务器或证书或证书代理持有的接受 IP 地址列表中。我该怎么做?那是我可以设置的kubeadm init
吗?
B. 添加127.0.0.1
到 API 服务器或证书或证书代理持有的接受 IP 地址列表。我该怎么做?那是我可以设置的kubeadm init
吗?
我认为 B 会更好,因为我可以创建一个从我的笔记本电脑到远程机器的 ssh 隧道,并允许我的队友(如果我有的话)做类似的事情。
谢谢,
Slackware
解决方案
你应该添加--apiserver-cert-extra-sans 10.0.0.1
到你的kubeadm init
命令中。
参考https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm-init/#options
您还应该使用配置文件:
apiVersion: kubeadm.k8s.io/v1beta2
kind: ClusterConfiguration
kubernetesVersion: v1.16.2
apiServer:
certSANs:
- 10.0.0.1
您可以在此处找到所有相关信息:https ://godoc.org/k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1beta2