【问题标题】:Can I use an insecure endpoint for Kubernetes API in Docker for Mac?我可以在 Docker for Mac 中为 Kubernetes API 使用不安全的端点吗?
【发布时间】:2019-02-25 01:24:32
【问题描述】:

当我在 Docker for Mac 中运行 Kubernetes 时,似乎只能从安全端点 https://localhost:6443/ 访问 Kube API

借助 minikube,我能够为 Kube API 使用不安全的端点,例如 http://localhost:8080/

有没有办法在 Docker for Mac 的 Kubernetes 中为 Kube API 使用不安全的端点?

【问题讨论】:

    标签: kubernetes docker-for-mac


    【解决方案1】:

    您可能正在使用 minikube 运行旧版本的 Kubernetes。

    kube-apiserver 的默认不安全端口是 8080,但在 kube-apiserver 中的最新 Kubernetes 版本上,该端口已禁用,标志为:--insecure-port=0

    您可以随时从/etc/kubernetes/manifests/kube-apiserver.yaml 文件中删除该行。

    您还需要按照this添加此选项--insecure-bind-address=0.0.0.0

    然后重启 kube-apiserver。

    提示:Docker/Kubernetes 在您的 Mac 上的 xhyve VM 上运行。因此,要修改 Kubernetes 配置,您必须连接到您的 xhyve 虚拟机。你可以这样做:screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/ttyscreen ~/Library/Containers/com.docker.docker/Data/vms/0/tty

    添加更多细节:因此端口 6443 使用vpnkit 转发到主机。要使主机上的端口 8080 可用,您还必须使用 vpnkit 公开该端口。如果您筛选到 hyperkit vm,您将看到端口映射在 /var/vpnkit/port 中定义。该目录中有一个 README 文件,您可以按照该文件公开端口 8080。

    【讨论】:

    • 我在我的 Mac 上找不到 kube-apiserver.yaml 文件。知道如何在 docker for mac Kubernetes 中更改该设置吗?
    • 看起来 Docker for Mac 中的 Kubernetes 是 Not Configurable "Kubernetes 服务器在您的 Docker 实例中本地运行,不可配置,并且是一个单节点集群。"那为什么还要...?
    • 可能有办法。添加在答案底部
    • 我以前从未使用过screen,我正在为此苦苦挣扎。目标是筛选到终端会话然后找到kube-apiserver.yaml 并修改它吗?每次启动 docker for mac 时都需要这样做吗?
    • 非常感谢@Rico 的回答。 2 天以来一直在为这些东西苦苦挣扎。
    猜你喜欢
    • 2019-08-01
    • 2018-12-11
    • 2018-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-01
    • 2018-07-16
    • 1970-01-01
    相关资源
    最近更新 更多