【发布时间】:2021-11-16 20:49:16
【问题描述】:
我在远程机器 (k8_host) 上启动了一个 minikube 实例。我正在尝试从本地机器(client_comp)连接到它。我按照here 的指示进行了设置并转移了证书。
看来我可以在 client_comp 上使用 kubectl 成功 ping,但出现证书错误:
$ kubectl get pods
Unable to connect to the server: x509: certificate is valid for 192.168.49.2, 10.96.0.1, 127.0.0.1, 10.0.0.1, not 192.168.1.69
当我检查 minikube 的 IP 设置时,我得到了
$minikube ip
192.168.49.2
k8_host的ip是192.168.1.69。
如果我理解正确,似乎 minikube 启动时,它会自动生成一组证书,这需要一个域。因此,它使用 k8_host 上的 minikube 本地 ip (192.168.49.2) 创建了证书。而且,当我尝试从 client_comp 连接时,它会将主机设置为 k8_host (192.168.1.69) 的网络 IP。
我需要更新证书吗?我猜,由于 nginx 设置为只传递 ssl 证书(使用流),我不能只在 nginx 配置中添加正确的主机。
为了将来参考,我在 minikube 设置过程中是否做错了什么?
供参考:
~/.kube/config(在 client_comp 上)
apiVersion: v1
clusters:
- cluster:
certificate-authority-data: [redacted]
server: [redacted]
name: docker-desktop
- cluster:
certificate-authority: home_computer/ca.crt
server: https://192.168.1.69:51999
name: home_computer
contexts:
- context:
cluster: docker-desktop
user: docker-desktop
name: docker-desktop
- context:
cluster: home_computer
user: home_computer
name: home_computer
current-context: home_computer
kind: Config
preferences: {}
users:
- name: docker-desktop
user:
client-certificate-data: [redacted]
client-key-data: [redacted]
- name: home_computer
user:
client-certificate: home_computer/client.crt
client-key: home_computer/client.key
~/.minikube/config(在 k8 主机上)
apiVersion: v1
clusters:
- cluster:
certificate-authority: /home/coopers/.minikube/ca.crt
extensions:
- extension:
last-update: Thu, 25 Mar 2021 22:27:27 EDT
provider: minikube.sigs.k8s.io
version: v1.18.1
name: cluster_info
server: https://192.168.49.2:8443
name: minikube
contexts:
- context:
cluster: minikube
extensions:
- extension:
last-update: Thu, 25 Mar 2021 22:27:27 EDT
provider: minikube.sigs.k8s.io
version: v1.18.1
name: context_info
namespace: default
user: minikube
name: minikube
current-context: minikube
kind: Config
preferences: {}
users:
- name: minikube
user:
client-certificate: /home/coopers/.minikube/profiles/minikube/client.crt
client-key: /home/coopers/.minikube/profiles/minikube/client.key
/etc/nginx/nginx.conf(在k8主机上)
stream {
server {
listen 192.168.1.69:51999;
proxy_pass 192.168.49.2:8443;
}
}
我看到this 的问题,但它似乎有不同的根本问题。
感谢您的帮助或指导。
【问题讨论】: