作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有没有办法公开使用 minikube
创建的 Kubernetes 集群的 API 服务器在 LAN 的公共(public)网络接口(interface)上?minikube start --help
谈论这个选项(和两个类似的):
--apiserver-ips ipSlice \
A set of apiserver IP Addresses which are used in the generated \
certificate for localkube/kubernetes. This can be used if you \
want to make the apiserver available from outside the machine (default [])
minikube start --apiserver-ips <ip-address-of-my-lan-interface>
vboxmanage controlvm "minikube" natpf1 "minikube-api-service,tcp,,8443,,8443"
curl --insecure https://<ip-address-of-host-running-minikube>:8443
{
"kind": "Status",
"apiVersion": "v1",
"metadata": {
},
"status": "Failure",
"message": "forbidden: User \"system:anonymous\" cannot get path \"/\"",
"reason": "Forbidden",
"details": {
},
"code": 403
}
--insecure
对于curl
调用,否则我会收到 SSL 验证错误。 最佳答案
您头疼的主要原因是 minikube(通常)在具有自己 IP 地址的 VM 中运行。为了安全起见,它会生成一些自签名证书并配置 api 命令行工具 kubectl 来使用它们。证书是自签名的,使用 VM IP 作为证书的主机名。
如果您使用 kubectl config view
,您可以看到这一点.这是我的:
apiVersion: v1
clusters:
- cluster:
certificate-authority: /home/sam/.minikube/ca.crt
server: https://192.168.39.226:8443
name: minikube
contexts:
- context:
cluster: minikube
user: minikube
name: minikube
current-context: minikube
kind: Config
preferences: {}
users:
- name: minikube
user:
client-certificate: /home/sam/.minikube/client.crt
client-key: /home/sam/.minikube/client.key
server: https://192.168.39.226:8443
- 这告诉 kubectl 服务器在哪里。在 vanilla minikube 设置中,它是
https://<ip-of-the-vm>:8443
.请注意,它的 https。
certificate-authority: /home/sam/.minikube/ca.crt
- 这一行告诉工具使用什么证书授权文件来验证 TLS 证书。因为它是自签名证书,即使在普通设置中,您也必须告知 curl 有关证书颁发机构文件或使用
--insecure
.
- name: minikube
user:
client-certificate: /home/sam/.minikube/client.crt
client-key: /home/sam/.minikube/client.key
--insecure
.
--apiserver-ips <target-ip-here>
(因此 minikube 生成的证书适用于您将要访问的正确 IP)
<target-ip-here>:8443
可用
kubectl config view
引用的证书文件
关于kubernetes - 如何将 minikube 集群的 API 服务器暴露给公网(LAN)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49897126/
我是一名优秀的程序员,十分优秀!