我想看看是否可以使用本地(Mac) kubectl连接到远程迷你库集群(Ubuntu )。我目前使用的是Docker,使用docker-machine
可以很容易地做到这一点。只需使用计算机名,那么docker就会使用远程机器。
我在想,对于minikube/kubectl是否有类似的地方?我找到了几篇文章,其中提到我需要将远程~/.minikube
目录复制到本地,并更改一些配置。但对于像docker-machine
这样的工具来说,这似乎相当复杂。
是否有类似的工具可用,或者如果没有,有人能帮我完成连接到远程集群所需的步骤吗?
Remote机器目前我使用docker
驱动程序(这是命令的完整输出,只有一行):
$ minikube config view
- driver: docker
并拥有许多NodePort
服务:
$ kubectl get service -A
NAMESPACE NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
default apigateway NodePort 10.100.122.255 8080:30601/TCP 19h
default discoveryserver NodePort 10.101.106.231 8761:30602/TCP 19h
default elasticsearch NodePort 10.97.197.14 9200:30604/TCP 19h
default harness NodePort 10.97.233.245 9090:30603/TCP 19h
default kubernetes ClusterIP 10.96.0.1 443/TCP 19h
default mongo NodePort 10.97.172.108 27017:32625/TCP 19h
kube-system kube-dns ClusterIP 10.96.0.10 53/UDP,53/TCP,9153/TCP 19h
$ kubectl config view
apiVersion: v1
clusters:
- cluster:
certificate-authority: /home/meanwhileinhell/.minikube/ca.crt
server: https://192.168.50.2:8443 <<<<<< `minikube ip`
name: minikube
contexts:
- context:
cluster: minikube
namespace: default
user: minikube
name: minikube
current-context: minikube
kind: Config
preferences: {}
users:
- name: minikube
user:
client-certificate: /home/meanwhileinhell/.minikube/profiles/minikube/client.crt
client-key: /home/meanwhileinhell/.minikube/profiles/minikube/client.key
Local机器
$ kubectl config view
apiVersion: v1
clusters:
- cluster:
certificate-authority-data: DATA+OMITTED
server: https://kubernetes.docker.internal:6443
name: docker-desktop
- cluster:
certificate-authority: /Users/mih.mac/remote/.minikube/ca.crt
server: https://192.168.1.5:8443 <<<<<< Static IP of my remote machine
name: minikube
contexts:
- context:
cluster: docker-desktop
user: docker-desktop
name: docker-desktop
- context:
cluster: minikube
user: minikube
name: minikube
current-context: docker-desktop
kind: Config
preferences: {}
users:
- name: docker-desktop
user:
client-certificate-data: REDACTED
client-key-data: REDACTED
- name: minikube
user:
client-certificate: /Users/mih.mac/remote/.minikube/client.crt
client-key: /Users/mih.mac/remote/.minikube/client.key
发布于 2021-06-07 23:47:53
没有可用的工具。远程访问minikube的方法是进行SSH隧道。
1-你需要能够SSH从Mac到Ubuntu盒。
2-添加适当的SSH端口转发flags.Run以下命令
ssh -N -p 22 @ -L 127.0.0.1:18443::8443
其中:
用户是您的名字。
public_ip是服务器的公共IP。
minikube_ip是minikube的ip地址,您可以通过命令minikube_ip在服务器上找到它。可能是192.168.49.2。
然后,只需将适当的K8s凭证插入Mac上的kubectl。
有关更多信息,请参阅链接:
https://www.zepworks.com/posts/access-minikube-remotely-kvm/ https://www.chevdor.com/post/2021/02/docker_至_k8s/
发布于 2022-11-11 00:00:18
Uou可以使用socat正向微型库默认IP和端口(192.168.49.2:8443)来实现系统默认网卡IP。
socat TCP4-LISTEN:8443,fork TCP4:192.168.49.2:8443
https://serverfault.com/questions/1045411
复制