【问题标题】:Can we install Kubernetes in a complete offline mode with kubeadm?我们可以使用 kubeadm 以完全离线模式安装 Kubernetes 吗?
【发布时间】:2017-04-15 11:51:46
【问题描述】:

我需要在完全离线模式下安装 Kubernetes 集群。我可以按照http://kubernetes.io/docs/getting-started-guides/scratch/ 的所有说明进行操作并从二进制文件进行安装,但这似乎是一个复杂的设置。使用kubeadm 进行安装非常简单,但我没有看到任何关于是否可以通过在本地下载.deb 包来安装集群的文​​档。

非常感谢任何指向该方向的指针。

【问题讨论】:

    标签: kubernetes offline kubeadm


    【解决方案1】:

    我认为还没有人对此进行记录。最需要的是在集群中的每台机器上预加载正确的图像。在那之后,事情应该就可以工作了。

    此 PR 中对此进行了一些讨论:https://github.com/kubernetes/kubernetes/pull/36759

    如果我有带宽,我会实现kubeadm list-images,这样我们就可以实现docker save $(kubeadm list-images) | gzip > kube-images.tar.gz。您可以通过阅读代码等手动构建该列表。

    【讨论】:

    • 我面临的问题是我的 IP 不是静态的。因此,每次网络断开连接时,kube 服务器都会变得无法访问。有什么建议吗?
    【解决方案2】:

    我们可以使用 kubeadm 以完全离线模式安装 Kubernetes 吗?

    是的,我已经使用 ansible 和 kubeadm 设置了几个离线集群 (1.15.x)。主要需要在U盘中准备以下东西,并带入离线环境。

    • .deb/.rpm 文件安装 ansible
    • .deb/.rpm 文件安装 docker
    • .deb/.rpm 文件安装 kubeadm、kubectl、kubelet
    • kubernetes 集群的 Docker 镜像(可以通过kubeadm config images list 找到)
    • kubernetes 插件(flannel/calico、仪表板等)的 Docker 映像
    • 你的 ansible 剧本

    安装步骤如下:

    1. 使用 dpkg 或 rpm 安装 ansible(手动)
    2. 使用 dpkg 或 rpm 安装 docker(通过 ansible 任务)
    3. 使用 dpkg 或 rpm 安装 kubeadm、kubectl、kubelet(通过 ansible 任务)
    4. docker load 所有 docker 镜像(通过 ansible 任务)
    5. 运行 kubeadm initkubeadm join(通过 ansible 任务)

    这里可能有很多细节。随时离开您的 cmets。

    【讨论】:

    • 你有 github 上的 ansible playbook 吗?
    • @ImranRazaKhan 抱歉,这是公司项目,现在必须保密。但是一旦我被批准开源,我肯定会在这里更新 GitHub 存储库。
    猜你喜欢
    • 2019-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多