首页 > 解决方案 > 如何配置 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.1kubectl proxy --port=8080如果我点击在主机上运行的另一个是 403 。

我认为两种解决方案是可能的,最好的一个(B):

A. 将我的笔记本电脑的 IP 地址添加到 API 服务器或证书或证书代理持有的接受 IP 地址列表中。我该怎么做?那是我可以设置的kubeadm init吗?

B. 添加127.0.0.1到 API 服务器或证书或证书代理持有的接受 IP 地址列表。我该怎么做?那是我可以设置的kubeadm init吗?

我认为 B 会更好,因为我可以创建一个从我的笔记本电脑到远程机器的 ssh 隧道,并允许我的队友(如果我有的话)做类似的事情。

谢谢,

Slackware

标签: securitykubernetesx509kubeadm

解决方案


你应该添加--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


推荐阅读