标签: eksctl

如何在 eksctl 配置文件中为 VPC 设置可用区?

eksctl命令行上创建集群时,可以使用“区域”标志指定可用区,如下所示:

eksctl create cluster \
--name example \
--version 1.16 \
--region us-east-1 \
--zones us-east-1a,us-east-1b,us-east-1c
Run Code Online (Sandbox Code Playgroud)

eksctl文档中,注意到配置文件比标志更灵活。但是,eksctl配置文件选项的文档很少,并且无法从 flags 生成配置文件

存储eksctl库提供了一个示例,该示例使用具有预定义子网的现有 VPC,但这无法了解相同设置如何与从头VPC 相关。它也比标志所需的更细粒度。

如果一个人精通 golang(并且非常有耐心),则可以从源头上弄明白,但是 IMO 这违背了像eksctl.

有没有办法使用配置文件来实现上面标志示例中实现的功能?如果是这样,如何?

kubernetes amazon-eks eksctl

4
推荐指数
1
解决办法
1519
查看次数

是否可以检索用于使用 eksctl 创建 eks 集群的 EKS ClusterConfig yaml 文件

因此,如果集群是使用以下命令创建的

eksctl create cluster  -f config/prod.yaml
Run Code Online (Sandbox Code Playgroud)

产品.yaml

apiVersion: eksctl.io/v1alpha5
kind: ClusterConfig
....
Run Code Online (Sandbox Code Playgroud)

如果 prod.yaml 文件丢失(无法再访问),如何获取当前版本?

kubernetes amazon-eks eksctl

4
推荐指数
1
解决办法
3034
查看次数

使用 k8s/eks 信息播种新机器的最佳方式

假设我们在 Amazon EKS 上有几个集群。我们有一个新用户或新机器,需要使用最新的集群信息填充 .kube/config。

是否有一些简单的方法可以让我们从 EKS 上的集群中获取上下文信息并将这些信息放入 .kube/config 文件中?就像是:

eksctl init "cluster-1-ARN" "cluster-2-ARN"
Run Code Online (Sandbox Code Playgroud)

所以经过一些网络调查后,我听说:

aws eks update-kubeconfig
Run Code Online (Sandbox Code Playgroud)

我试过了,我得到了这个:

$ aws eks update-kubeconfig 用法:aws [options] [ ...] [parameters] 要查看帮助文本,您可以运行:

aws 帮助 aws 帮助 aws 帮助

aws: 错误: 参数 --name 是必需的

我认为它只会更新所有集群,但事实并非如此。所以我输入了集群名称/ARN,如下所示:

aws eks update-kubeconfig --name arn:aws:eks:us-west-2:913xxx371:cluster/eks-cluster-1
aws eks update-kubeconfig --name arn:aws:eks:us-west-2:913xxx371:cluster/ignitecluster
Run Code Online (Sandbox Code Playgroud)

但后来我得到:

kbc stderr: An error occurred (ResourceNotFoundException) when calling the DescribeCluster operation: No cluster found for name: arn:aws:eks:us-west-2:913xxx371:cluster/eks-cluster-1.
kbc stderr: An error occurred (ResourceNotFoundException) when calling the DescribeCluster operation: …
Run Code Online (Sandbox Code Playgroud)

kubernetes kubectl amazon-eks eksctl

3
推荐指数
1
解决办法
2989
查看次数

eksctl 停留在等待节点加入集群的状态

当使用eksctlAWS EKS 创建 Kubernetes 集群时,进程会卡住等待节点加入集群:

\n\n
nodegroup "my-cluster" has 0 node(s)\nwaiting for at least 3 node(s) to become ready in \xe2\x80\x9cmy-cluster\xe2\x80\x9d\ntimed out (after 25m0s) waiting for at least 3 nodes to join the cluster and become ready in "my-cluster"\n
Run Code Online (Sandbox Code Playgroud)\n\n

将显示该消息,没有任何其他日志,直到该过程最终超时。看起来在幕后,新创建的节点无法与 Kubernetes 集群通信

\n

kubernetes amazon-eks eksctl

3
推荐指数
1
解决办法
3749
查看次数

eks create cluster 命令失败并显示错误:在输入字节 11 处计算指纹非法 base64 数据

我正在尝试使用 EKS 创建一个 kubernetes 集群。我正在使用的命令是

eksctl create cluster --name prod --version 1.14 --region us-west-2 --nodegroup-name standard-workers --node-type t3.medium --nodes 3 --nodes-min 1 --nodes-max 4 --ssh-access --ssh-public-key <pathto>/certificate.pem --managed
Run Code Online (Sandbox Code Playgroud)

上面的 certificate.pem 是我从 AWS 控制台“我的安全凭证”页面下载的 x.509 证书。该命令引发错误:

Error: computing fingerprint for key "/Users/xxxx/work/tech/aws/certificate.pem": error decoding SSH public key: "-----BEGIN CERTIFICATE-----\nMIIDhjCCAm6gAwIBAgIVAKuhOc5Vbrgl7Y3ZfxBAj9uY9aeDMA0GCSqGSIb3DQEB\nBQUAMFMxITAfBgNVBAMMGEFXUyBM
Run Code Online (Sandbox Code Playgroud) -----END CERTIFICATE-----\n" 错误:输入字节 11 处的 base64 数据非法

essh-public-key eksctl 在这里期待什么?

amazon-web-services amazon-eks eksctl

3
推荐指数
1
解决办法
993
查看次数

使用 eksctl 创建 aws EKS Kubernetes 集群时出错

我尝试运行下面的代码并使用 eksctl 创建 aws eks kubernetes 集群,

\n
$ eksctl create cluster \\\n  --version 1.14 \\\n  --region us-west-2 \\\n  --node-type t3.medium \\\n  --nodes 3 \\\n  --nodes-min 1 \\\n  --nodes-max 4 \\\n  --name my-demo \\\n  --kubeconfig=$HOME/kubeconfigs/demo-cluster-config.yaml\n\n\n\nas a result I got below errors,\n\n[\xe2\x84\xb9]  eksctl version 0.35.0\n\n[\xe2\x84\xb9]  using region us-west-2\n\n[\xe2\x84\xb9]  setting availability zones to [us-west-2b us-west-2a us-west-2c]\n\n[\xe2\x84\xb9]  subnets for us-west-2b - public:192.168.0.0/19 private:192.168.96.0/19\n\n[\xe2\x84\xb9]  subnets for us-west-2a - public:192.168.32.0/19 private:192.168.128.0/19\n\n[\xe2\x84\xb9]  subnets for us-west-2c - public:192.168.64.0/19 private:192.168.160.0/19\n\n[\xe2\x84\xb9]  nodegroup "ng-6c4aa136" will use "ami-0f9f033f2355ab1f8" [AmazonLinux2/1.18]\n\n[\xe2\x84\xb9]  using Kubernetes …
Run Code Online (Sandbox Code Playgroud)

amazon-eks kubernetes-cluster eksctl

2
推荐指数
1
解决办法
4588
查看次数

eksctl 创建集群卡住“等待 CloudFormation 堆栈”

我正在尝试通过 eksctl 创建一个集群,使用默认选项和具有“AdministratorAccess”的 AMI 用户,我陷入了“等待 CloudFormation 堆栈”

 > eksctl create cluster --name dev
[?]  eksctl version 0.36.0
[?]  using region us-west-2
[?]  setting availability zones to [us-west-2a us-west-2c us-west-2b]
[?]  subnets for us-west-2a - public:192.168.0.0/19 private:192.168.96.0/19
[?]  subnets for us-west-2c - public:192.168.32.0/19 private:192.168.128.0/19
[?]  subnets for us-west-2b - public:192.168.64.0/19 private:192.168.160.0/19
[?]  nodegroup "ng-fa4af514" will use "ami-0532808ed453f9ca3" [AmazonLinux2/1.18]
[?]  using Kubernetes version 1.18
[?]  creating EKS cluster "dev" in "us-west-2" region with un-managed nodes
[?]  will create 2 separate CloudFormation stacks …
Run Code Online (Sandbox Code Playgroud)

kubernetes amazon-eks eksctl

2
推荐指数
1
解决办法
1951
查看次数

Kops 和 Eksctl 有什么区别?

我在互联网上搜索过但没有找到明确的答案。

Kops 适用于生产级集群,并且与供应商无关,我明白这一点,但与 Eksctl 相比有什么区别?

此外,大多数文章都已有一年多的历史,随着 K8s 生态系统发展的速度,它可能已经过时了。

kubernetes kops eksctl

1
推荐指数
1
解决办法
1325
查看次数

Autoscaling 组无法分配 Spot 实例

我有一个带有基于混合实例分发启动模板的节点组的 eks 集群,配置如下:

region: us-west-2  
instance_distribution: [p2.xlarge, p3.2xlarge, p2.8xlarge]  
max_price: 0.9  
on_demand_percentage_above_base_capacity: 0  
on_demand_base_capacity: 0  
spot_instance_pools: 2
Run Code Online (Sandbox Code Playgroud)

当希望将自动缩放从 0 缩放到 1 时,集群自动缩放器遇到了以下问题:

Launching a new EC2 instance. Status Reason: Could not launch Spot Instances. SpotMaxPriceTooLow - Your Spot request price of 0.9 is lower than the minimum required Spot request fulfillment price of 0.918. Launching EC2 instance failed. 
At the time, the spot price of p3.2xlarge happened to be 0.918. 
Run Code Online (Sandbox Code Playgroud)

似乎是请求一个现货 p3.2xlarge 而不是请求 p2.xlarge 的按需实例(即使 p2.xlarge 的按需价格 0.9 低于现货价格 0.918对于 …

amazon-ec2 autoscaling amazon-ec2-spot-market amazon-eks eksctl

1
推荐指数
1
解决办法
877
查看次数

使用 kubectl 或 eksctl 连接到现有 EKS 集群

我在 EKS 上创建了一个 kubernetes 集群。我使用 eksctl create cluster 创建集群。我能够访问一切是伟大的。

但是,我的同事创建了另一个集群,我想知道如何生成/获取 cobeconfigs 以便我可以指向我的同事创建的集群。

kubectl amazon-eks eksctl

1
推荐指数
2
解决办法
4355
查看次数

如何在不使用 Chocolatey 的情况下在 Windows 上安装 AWS eksctl

我正在一台严格配置的 Windows 电脑上工作,它有一些非常受限的 ExecutionPolicy 设置,即使使用非管理员安装版本的 Chocolatey,也不允许我安装 Chocolatey。有没有办法按照此处所述安装 AWS eksctl https://docs.aws.amazon.com/eks/latest/userguide/getting-started-eksctl.html而不使用 Chocolatey?

javascript amazon-web-services chocolatey amazon-eks eksctl

1
推荐指数
1
解决办法
1851
查看次数

eksctl“未找到集群”

我目前正在尝试 aws eks,但在通过 eksctl 管理我的集群时遇到了问题。现在通过 eksctl 创建一个集群可以很好地使用

eksctl create cluster --region [region] --name my-cluster
Run Code Online (Sandbox Code Playgroud)

集群正确出现,它也显示在 AWS 控制台 Web GUI 中,但如果我尝试使用它

eksctl get clusters
Run Code Online (Sandbox Code Playgroud)

我得到

未找到集群

我按照文档(EKS 集群)角色中的说明设置了我的角色,并将访问密钥 ID 和秘密访问密钥添加到我的配置中。但这可能是权限的问题吗?如果不是,还能是什么

amazon-web-services amazon-eks eksctl

1
推荐指数
1
解决办法
959
查看次数

如何参数化 eksctl 的配置文件?

我有以下配置文件(为简洁而编辑):

apiVersion: eksctl.io/v1alpha5
kind: ClusterConfig

metadata:
  name: FOO-CLUSTER
  region: eu-central-1

nodeGroups:
  - name: FOO-CLUSTER-group-1
    [..]
  - name: FOO-CLUSTER-group-2
    [..]
Run Code Online (Sandbox Code Playgroud)

它将用于创建带有 的集群eksctl create cluster -f config.yml

我想避免对集群名称进行硬编码(即FOO-CLUSTER在本例中)并将其提取到参数(例如环境变量或附加文件或 CLI 参数),以便我稍后可以使用相同的文件来创建BAR-CLUSTERFEE-CLUSTER

是否可以?

amazon-eks eksctl

1
推荐指数
1
解决办法
1505
查看次数