amazon-eks - AWS EKS 自定义 AMI 托管节点组引导文件不存在
问题描述
以下是我为使用自定义 AMI EKS 托管节点组而执行的步骤。
- bootstrap_user_data 文件已创建并按照标准转换为 base64 格式。
#!/bin/bash
set -ex
B64_CLUSTER_CA= <My eks cluster Certificate authority value>
API_SERVER_URL= <My EKS cluster API server URl>
/etc/eks/bootstrap.sh <cluster-name> --b64-cluster-ca $B64_CLUSTER_CA --apiserver-endpoint $API_SERVER_URL
- 猫 bootstrap_user_data | base64
- 使用以下数据通过 custom-configuration.json 文件创建的启动模板
cat config_custom_ami.json
{
"LaunchTemplateData": {
"EbsOptimized": false,
"ImageId": "ami-0e00c1f097aff7fe8",
"InstanceType": "t3.small",
"UserData": "bootstrap_user_data",
"SecurityGroupIds": [
"sg-0e9b58499f42bcd4b"
]
}
}
安全组已选择 EKS 集群安全组,它是第一次创建 EKS 集群时自动创建的。
使用 eksctl 命令创建启动模板
aws ec2 create-launch-template --region eu-central-1 --launch-template-name my-template-name --version-description "first version " --cli-input-json file://custom.config.json
- 使用 eksctl 命令创建节点组
aws eks create-nodegroup --region eu-central-1 --cluster-name my-cluster --nodegroup-name my-node-group --subnets subnet-<subnet1> subnet-<subnet2> --node-role 'arn:aws:iam::123456789:role/EKSNODEGROUP' --launch-template name=my-template-name
执行节点组创建命令后,创建节点组需要 20 分钟,同时所需的 VM 被创建为 Auto Scaling 组的一部分,但节点组在 20 分钟后无法加入集群。
使用 SSH 连接到您的 Amazon EKS 工作程序节点实例并检查 kubelet 代理日志
ssh -i my.key ec2-user@1.2.3.4
sudo -i
cd /etc/eks/bootstrap.sh
-bash: cd: /etc/eks: No such file or directory
您能否请一些帮助,为什么我的 bootstrap.sh 文件不存在于 /etc/eks 位置,另一方面在 AWS 控制台启动模板 - 高级选项卡 - 我可以看到我的用户数据以解码格式。
解决方案
推荐阅读
- python - PyQt 设置行高创建一个大行
- angularjs - 如何将每页的项目数修复为 5 并且仅在垫表中显示导航箭头
- mongodb - 带有 mongo DB 3.2 数据存储的 Jackrabbit Oak1.4.6 磁盘使用量高速增长,每天 200GB 并且不断重新索引
- c++ - std::random - 在 Windows 上我总是得到相同的数字
- javascript - REACT NATIVE:我如何使用 TextInput 的值进行计算
- javascript - chrome 扩展中的谷歌搜索集成引发策略错误
- c++ - 如何准备在集群上执行的代码,以便一次从 .txt 文件中获取一个参数?
- c++ - 将可变参数分成两半
- javascript - 将异步模块导入驱动程序
- python - get_attribute('innerHTML') 的 Python Selenium 问题