首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用kubectl连接到远程迷你库集群

使用kubectl连接到远程迷你库集群
EN

Server Fault用户
提问于 2020-12-08 12:17:46
回答 2查看 3.8K关注 0票数 2

我想看看是否可以使用本地(Mac) kubectl连接到远程迷你库集群(Ubuntu )。我目前使用的是Docker,使用docker-machine可以很容易地做到这一点。只需使用计算机名,那么docker就会使用远程机器。

我在想,对于minikube/kubectl是否有类似的地方?我找到了几篇文章,其中提到我需要将远程~/.minikube目录复制到本地,并更改一些配置。但对于像docker-machine这样的工具来说,这似乎相当复杂。

是否有类似的工具可用,或者如果没有,有人能帮我完成连接到远程集群所需的步骤吗?

Remote机器目前我使用docker驱动程序(这是命令的完整输出,只有一行):

代码语言:javascript
运行
复制
$ minikube config view
- driver: docker

并拥有许多NodePort服务:

代码语言:javascript
运行
复制
$ 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
代码语言:javascript
运行
复制
$ 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机器

代码语言:javascript
运行
复制
$ 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
EN

回答 2

Server Fault用户

发布于 2021-06-08 07:47:53

没有可用的工具。远程访问minikube的方法是进行SSH隧道。

1-你需要能够SSH从Mac到Ubuntu盒。

2-添加适当的SSH端口转发flags.Run以下命令

代码语言:javascript
运行
复制
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/

票数 3
EN

Server Fault用户

发布于 2022-11-11 08:00:18

Uou可以使用socat正向微型库默认IP和端口(192.168.49.2:8443)来实现系统默认网卡IP。

socat TCP4-LISTEN:8443,fork TCP4:192.168.49.2:8443

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1045411

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档