per*_*ian 1 amazon-web-services kubernetes terraform terraform-provider-aws amazon-eks
我正在按照https://docs.aws.amazon.com/eks/latest/userguide/cni-increase-ip-addresses.html创建 EKS 托管节点组的示例进行操作
配置要求我/etc/eks/bootstrap.sh
通过--kubelet-extra-args
参数将附加参数传递给脚本。
我的 EKS 工作节点是通过 Terraform 资源配置的aws_eks_node_group
我找不到任何配置资源的选项来允许我传递参数--kubelet-extra-args
。
我是看错地方还是没有办法实现这一点?
如果您需要传递,--kubelet-extra-args
您可以选择将用户数据传递到实例,这些数据可用于执行常见的自动配置任务,甚至在实例启动后运行脚本。
在我看来,您应该有一个 tpl(模板)文件,其中包含创建节点时需要运行的脚本。
像这样的userdata.tpl 文件
#!/bin/bash
%{ if length(kubelet_extra_args) > 0 }
export KUBELET_EXTRA_ARGS="${kubelet_extra_args}"
%{ endif }
%{ if length(kubelet_extra_args) > 0 || length (bootstrap_extra_args) > 0 || length (after_cluster_joining_userdata) > 0 }
/etc/eks/bootstrap.sh --apiserver-endpoint '${cluster_endpoint}' --b64-cluster-ca '${certificate_authority_data}' ${bootstrap_extra_args} '${cluster_name}'
Run Code Online (Sandbox Code Playgroud)
先前的 userdata.tpl 文件是使用templatefile函数调用的,该函数呈现脚本上的所有值。
例如,在另一个文件中,您将拥有一个名为aws_launch_template
或 的资源,其中包含像这样的aws_launch_configuration
user_data输入。base64encode
最后,应用所有更改,然后创建新节点,它们将使用新配置创建。
我希望它对你有用。
归档时间: |
|
查看次数: |
7801 次 |
最近记录: |