首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何连接到另一台机器上的docker桌面的k8s集群?

如何连接到另一台机器上的docker桌面的k8s集群?
EN

Stack Overflow用户
提问于 2020-04-04 21:45:14
回答 3查看 2.2K关注 0票数 5

我有一台macbook (192.168.1.101)和macmini(192.168.1.104)通过相同的wifi。

我在macmini上通过docker-desktop启动了一个k8s集群,并希望通过kubectl在macbook上。

下面是我的~/.kube/config在macmini上看起来是这样的:

代码语言:javascript
复制
apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: ******
    server: https://kubernetes.docker.internal:6443
  name: docker-desktop
contexts:
- context:
    cluster: docker-desktop
    user: docker-desktop
  name: docker-desktop
- context:
    cluster: docker-desktop
    user: docker-desktop
  name: docker-for-desktop
current-context: docker-desktop
kind: Config
preferences: {}
users:
- name: docker-desktop
  user:
    client-certificate-data: ******
    client-key-data: ******

我该怎么写呢?~/.kube/config在macbook上?目前我关注的是官方doc并得到以下错误。

代码语言:javascript
复制
$ kubectl config view
apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: DATA+OMITTED
    server: http://192.168.1.104:6443
  name: macmini-cluster
contexts:
- context:
    cluster: macmini-cluster
    user: macmini-user
  name: macmini-context
current-context: macmini-context
kind: Config
preferences: {}
users:
- name: macmini-user
  user:
    client-certificate-data: REDACTED
    client-key-data: REDACTED
$ kubectl get pods
The connection to the server 192.168.1.104 was refused - did you specify the right host or port?

更新

我添加了端口6443servercluster并试图

telnetmacmini端口6443,但得到:

代码语言:javascript
复制
$ telnet 192.168.1.104 6443
Trying 192.168.1.104...
telnet: connect to address 192.168.1.104: Connection refused
telnet: Unable to connect to remote host

当我查看macmini时:

代码语言:javascript
复制
$ netstat -na|grep 6443
tcp4       0      0  127.0.0.1.6443         *.*                    LISTEN

似乎有一个未解决的相关问题issue..。

EN

回答 3

Stack Overflow用户

发布于 2020-04-04 22:01:23

在macbook中,必须按如下方式指定端口号。这是K8S APIServer的端口号。(1)

服务器:http://192.168.1.104:6443

票数 0
EN

Stack Overflow用户

发布于 2020-04-05 11:04:01

您只需将.kube/config文件从mac-mini桌面复制到macbook,如果您想使用相同的上下文,则不必再次编写配置文件。

票数 0
EN

Stack Overflow用户

发布于 2021-01-29 11:18:11

有一个内部主机名docker-desktop指向kubernetesapi-server但是,任何内部容器都可以访问此主机名,而不使用--link选项,我们可以在下面给出一个hack来制作一个

port-forwarding技巧

docker运行-d桌面0.0.0.0:6444:6443 bobrik/docker TCP- -p :6443,fork TCP:docker-desktop:6443

我曾经想过利用kubernetesservice,但没有时间继续挖掘,希望其他人对这个技巧有任何想法。

除此之外,别忘了在你的~/.kube/config以避免x509证书验证

代码语言:javascript
复制
clusters:
- cluster:
    server: https://:6444
    insecure-skip-tls-verify: true
  name: docker-desktop
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61029037

复制
相关文章

相似问题

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