一个简单灵活的aws eks管理命令行工具

ekscli的Python项目详细描述


Build StatusDocumentation StatusVersionLicense MIT

一个简单而灵活的AWS管理命令行工具

先决条件

  • 可用的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
  • 更新群集和节点组
  • 从模板配置文件创建

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java在TextView中对齐部分文本   带有iText和eTPKCS11的java PKCS#11签名。dll&SunPKCS11提供程序   java Intellij Idea找不到jar   java Chrome/Firefox和Jetty HTTPS   java我无法打包找不到的JavaFX应用程序模块   多线程Java:排序从异步任务检索的结果   java客户端/服务器socket不能与外部连接一起工作   java如何在单击“下一步”按钮时获取其他详细信息?   java组织。springframework。网状物客户RestTemplate应声明为@Bean,而plain@Autowired抛出错误   java如何绘制javax。摆动将ImageIcon转换为JavaFX。fxml呈现用户界面?   使用for循环的Java跟踪   java如何编码字符串以显示彩色文本(基于字符串中的前缀)   Java保存/打开文件对象   基于java复选框的搜索:使用尽可能多的“”动态生成准备好的语句作为选中复选框的计数   java为什么crawler4j随机挂起?