kops 是官方推荐的工具,用来在 AWS 生产环境中,快速地部署 Kubernetes 集群。
环境准备
在 1.6.2 版本之前,通过 kops 部署 K8s 集群,需要使用 AWS 的 Route53 来提供 DNS 服务的功能。但从 1.6.2 版本开始,kops 支持部署基于 gossip 的集群,不再依赖 Route53,这让部署操作变得更加简单。
在部署集群之前,需要安装 kubectl、kops 和 awscli 这些工具,下面是安装步骤:
配置好 AWS 账号:
为了使用 kops 部署集群,还需要为 kops 创建一个 IAM 用户kops
,并分配相应的权限:
为kops
用户创建密钥:
上面的命令会返回kops
用户的AccessKeyID
和SecretAccessKey
。接着我们就可以更新awscli
的配置,让它使用新创建的kops
用户的密钥:
同时还需要将kops
用户的密钥导出到命令行的环境变量:
最后是生成 SSH 密钥:
配置 S3
需要注意,为了让 kops 创建基于 gossip 的集群,集群的命名需要使用.k8s.local
作为后缀,例如,这里我们将集群命名为cluster.k8s.local
:
接着创建一个 S3 bucket,用户存储集群的数据,例如,这里我们将这个 bucket 命名为cluster.k8s.local-state.ym
: