Pulumi Amazon Web Services(AWS)EKS组件。

pulumi-eks的Python项目详细描述


Build Status

Pulumi Amazon Web Services(AWS)EKS组件

用于轻松创建和管理EKS-Kubernetes集群的Pulumi库。在

简介

pulumi/eks提供了一个Pulumi组件,该组件创建和管理运行AWS中EKS-Kubernetes集群所需的资源。在

这包括:

  • EKS群集控制平面。在
  • 集群的工作节点配置为节点组,由自动缩放组管理。在
  • AWS CNI插件^{}来管理Kubernetes中的pod网络。在

参考文献

先决条件

  1. Install Pulumi。在
  2. 安装Node.js。在
  3. 为安装包管理器节点.js,例如NPM或{a21}。在
  4. Install and Configure the AWS CLI
    • 使用AWS CLI version>;=1.18.17。在
    • 有关详细信息,请参阅AWS docs。在
  5. Install ^{}。在

安装

此包提供JavaScript/TypeScript格式,可用于节点.js. 使用npmyarn安装它。在

npm

$ npm install @pulumi/eks

{cd6}:

^{pr2}$

快速示例

创建默认EKS群集

默认集群配置将使用AWS用户的默认VPC 或临时登录的角色。它将创建EKS控制平面和默认值 使用两个t2.mediumEC2实例的自动调整组的工作节点组。在

import*aseksfrom"@pulumi/eks";// Create an EKS cluster with the default configuration.constcluster=neweks.Cluster("my-cluster");// Export the cluster's kubeconfig.exportconstkubeconfig=cluster.kubeconfig;

一旦创建了集群,就可以使用通常的方法将其部署到集群中 例如kubectl和Helm,或者使用 ^{}SDK以多种方式部署 如下所示。在

您可以通过查询 stack为其 output已导出 变量,如果直接使用kubectl或Helm工具。在

pulumi stack output kubeconfig > kubeconfig.json
exportKUBECONFIG=$PWD/kubeconfig.json

展开舵图

此示例创建一个EKS集群,然后从 稳定回购。我们从它的Pulumi provider中提取集群的kubeconfig,以专门针对这个集群进行部署 ^{}。在

import*aseksfrom"@pulumi/eks";import*ask8sfrom"@pulumi/kubernetes";// Create an EKS cluster.constcluster=neweks.Cluster("my-cluster");// Deploy Wordpress into our cluster.constwordpress=newk8s.helm.v2.Chart("wordpress",{repo:"stable",chart:"wordpress",values:{wordpressBlogName:"My Cool Kubernetes Blog!",},},{providers:{"kubernetes":cluster.provider}});// Export the cluster's kubeconfig.exportconstkubeconfig=cluster.kubeconfig;

部署工作负载

这个示例创建一个EKS集群,然后部署NGINX部署,然后 使用^{}SDK的服务,以及 kubeconfig来自群集的凭据 Pulumi provider。在

import*aseksfrom"@pulumi/eks";import*ask8sfrom"@pulumi/kubernetes";// Create an EKS cluster with the default configuration.constcluster=neweks.Cluster("my-cluster");// Create a NGINX Deployment and Service.constappName="my-app";constappLabels={appClass: appName};constdeployment=newk8s.apps.v1.Deployment(`${appName}-dep`,{metadata:{labels: appLabels},spec:{replicas: 2,selector:{matchLabels: appLabels},template:{metadata:{labels: appLabels},spec:{containers:[{name: appName,image:"nginx",ports:[{name:"http",containerPort: 80}]}],}}},},{provider: cluster.provider});constservice=newk8s.core.v1.Service(`${appName}-svc`,{metadata:{labels: appLabels},spec:{type:"LoadBalancer",ports:[{port: 80,targetPort:"http"}],selector: appLabels,},},{provider: cluster.provider});// Export the URL for the load balanced service.exportconsturl=service.status.loadBalancer.ingress[0].hostname;// Export the cluster's kubeconfig.exportconstkubeconfig=cluster.kubeconfig;

贡献

如果您有兴趣投稿,请参阅contributing docs。在

行为准则

{你可以阅读}守则。在

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

推荐PyPI第三方库


热门话题
java不兼容类型:MainActivity无法转换为LifecycleOwner   java安卓是一种更有效的读取大文本文件的方法   java导出LWJGL本地人与项目?(IntelliJ IDEA)   JDK更新后,JavaJShell不再在下一行打印输出   父类对象上的继承Java比较子属性   Java:有没有一个容器可以有效地结合HashMap和ArrayList?   安卓 Java对象指针   java在annotationdriven Spring MVC应用程序中实现大气   java 安卓源代码构建应用找不到安卓supportv4。罐子   文件系统上的抽象层和Java中的jar/zip   java在水平滚动视图中添加多个图像?   java如何从firebase实时数据库中获取字符串数组   WIndows 10工作站上的java未满足链接错误   java命令在终端中工作,但在使用过程中出现“无结束引号”错误。执行官