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

DT

我使用kops设置了Kubernetes集群,而我是在本地计算机上完成的。因此我的.kube目录存储在本地计算机上,但是我在中设置kops了状态存储s3

我现在正在设置CI服务器,我想kubectl从该框中运行命令。如何将现有状态导入该服务器?

Chaoyu

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

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

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

1)在CI服务器上安装kops,kubectl

2)在CI服务器上配置AWS访问凭证(通过IAM角色或简单地通过env vars),确保其有权访问s3状态存储路径

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

  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/configCI服务器上文件应包含kubectl访问群集所需的所有信息

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何连接在另一台服务器上运行的网络

如何在另一台服务器上运行 TestCafe

一台服务器,另一台PC上的多个网站

如何从一台服务器上的水壶作业在另一台服务器上运行Shell脚本?

如何在一台服务器上使用GitLab并将所有存储库存储在另一台服务器上?

如何使用ssh从一台服务器上的文件复制文本并追加到另一台服务器上的文件?

网络C#上另一台服务器上的引用路径

使用Django在另一台服务器上创建PostgreSQL数据库

关于服务器,何时应该将进程移至另一台服务器而不是同一台服务器上?

Anaconda连接到从另一台服务器创建的环境

将TeamCity构建配置从一台服务器导入/导出到另一台服务器

GPO可以从一台服务器导出并导入到另一台服务器吗?

如何创建触发器以将数据插入另一台服务器上的数据库

用于从另一台服务器上的 Elasticsearch 获取数据的 PHP 脚本

在另一台服务器上的Spring Boot外部配置

Ansible 命令触发在另一台服务器上的注册

Flask在另一台服务器上时在本地查找db

Node.js处理另一台服务器上的登录

另一台服务器上的git分支

使用位于另一台服务器上的PHP文件

在另一台服务器上设置的 PHP 会话

高频率在另一台服务器上运行脚本

AJAX等到文件在另一台服务器上存在

文件上传并保存在另一台服务器 PHP 上

Discord - 与另一台服务器上的机器人聊天

如何启动使用 compose 创建并上传到另一台服务器的多个 docker 图像?

如何使用SSH在另一台服务器上的PHP中运行CLI命令?

如何安全地连接到另一台服务器上的MySQL数据库?

[Discord.Js]如何在另一台服务器上获取新的存档(数组)