gpt4 book ai didi

kubernetes - 如何导入在另一台服务器上创建的状态?

转载 作者:行者123 更新时间:2023-12-03 22:08:41 25 4
gpt4 key购买 nike

我使用 kops 设置了我的 Kubernetes 集群,并且是从本地机器上完成的。所以我的.kube目录存储在我的本地机器上,但我设置了 kops用于 s3 中的状态存储.
我现在正在设置我的 CI 服务器,我想运行我的 kubectl来自那个盒子的命令。如何将现有状态导入该服务器?

最佳答案

运行 kubectl命令,您将需要集群的 apiServer URL 和相关凭据进行身份验证。这些数据按照惯例存储在 ~/.kube/config 中。文件。您也可以通过kubectl config view查看命令。

为了运行kubectl在您的 CI 服务器上,您需要确保 ~/.kube/config文件包含 kubectl 的所有信息客户需求。

使用 kops,一个简单的天真的解决方案是:

1) 在你的 CI 服务器上安装 kops、kubectl

2) 在您的 CI 服务器上配置 AWS 访问凭证(通过 IAM 角色或简单的环境变量),确保它可以访问您的 s3 状态存储路径

3) 为 kops 设置 env var 以访问您的集群:

  export NAME=${YOUR_CLUSTER_NAME}
export KOPS_STATE_STORE=s3://${YOUR_CLUSTER_KOPS_STATE_STORE}

4) 使用 kops export 命令获取运行 kubectl 所需的 kubecfg
  kops export kubecfg ${YOUR_CLUSTER_NAME}

https://github.com/kubernetes/kops/blob/master/docs/cli/kops_export.md

现在 ~/.kube/config CI 服务器上的文件应该包含所有信息 kubectl需要访问您的集群。

请注意,这将使用 CI 服务器上的默认管理员帐户。为了实现更安全的 CI/CD 环境,您应该创建一个绑定(bind)到所需权限范围(例如命名空间或类型或资源)的服务帐户,并将其凭据放在您的 CI 服务器计算机上。

关于kubernetes - 如何导入在另一台服务器上创建的状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48084506/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com