一个简单灵活的aws eks管理命令行工具
ekscli的Python项目详细描述
一个简单而灵活的AWS管理命令行工具
- 自由软件:麻省理工学院许可证
- 文档:https://ekscli.readthedocs.io。
先决条件
- 可用的aws凭据(配置为boto3)
- heptio身份验证器二进制(在AWS EKS User Guide中的To install heptio-authenticator-aws for Amazon EKS部分)
- [可选]kubectl(1.10及更高版本),用于kubernetes群集操作
快速启动
安装
使用pip与标准python方法一样简单。
$ pip install ekscli
(可选)安装后,可以使用以下命令完成命令:
$ eval"$(_EKS_COMPLETE=source eks)"
使用eckcli
注:由Eksci创建的AWS资源将在您的帐户中收取AWS费用。
使用几乎所有默认值运行ekscli来创建集群的最简单方法。
这将创建一个eks集群,其中包括控制平面(由aws管理的主节点)、一个节点组和一个kubectl配置文件(KUBECONFIG或$HOME/.kube/config)。
$ eks create cluster --name=dev # EKS cluster name can be set as an environment variable $ exportEKS_CLUSTER_NAME=dev $ eks create cluster
仅创建EKS群集的控制平面(主平面):
$ eks create cluster --name=dev --cp-only
用VPC的现有子网、预定义的IAM角色、现有的EC2密钥对等创建EKS集群的控制平面(Master):
$ eks create cluster --name=dev --cp-only \ --subnets=subnet-1234567,subnet-abcdef1 \ --cp-role eks-default-role \ --region us-west-2 \ --kubconfig ./dev.conf \ --heptio-auth /tmp/heptio-auth-aws \ --keyname dev \ --node-sg-ingress port=22,cidr=10.0.0.0/8 \ --tags Env=dev,Project=eks-poc
创建节点组的最简单方法
$ eks create node-group --name=dev --node-name=workers
创建具有更多选项的节点组
$ eks create node-group --name=dev --node-name=another \ --node-role=eks-worker-s3 \ --node-subnets=subnet-1234567 \ --node-min=1\ --node-max=10 --node-sg-ingress port=22,cidr=10.0.0.0/8 \ --node-sg-ingress protocol=tcp,from=8080,to=8088,cidr=0.0.0.0/0 \ --region us-west-2 \ --kubconfig ./dev.conf \ --heptio-auth /tmp/heptio-auth-aws \ --keyname dev \ --tags Env=dev,Project=eks-poc
功能
- 简洁的命令行界面
- 无需运行kubernetes集群的非必需资源的普通eks集群
- 由aws管理的eks资源CloudFormation
- bash和zsh支持命令行自动完成
路线图
- 将集群信息输出为不同的格式:yaml、json
- 更新群集和节点组
- 从模板配置文件创建