

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 节点引导
<a name="node-bootstrapping"></a>

## AmazonLinux2023
<a name="_amazonlinux2023"></a>

AL2023 引入了使用 YAML 配置架构的新节点初始化流程 [ nodeadm](https://awslabs.github.io/amazon-eks-ami/nodeadm/)，放弃了脚本的使用。`/etc/eks/bootstrap.sh`

**注意**  
在 Kubernetes 版本 1.30 及更高版本中，亚马逊 Linux 2023 是默认操作系统。

### AL2023 的默认设置
<a name="_default_settings_for_al2023"></a>

对于自管理 EKS-managed 节点和基于自定义 AMI 的节点，`eksctl`创建默认的最小值，`NodeConfig`并自动将其注入到节点组的启动模板用户数据中。即

```
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary=//

--//
Content-Type: application/node.eks.aws

apiVersion: node.eks.aws/v1alpha1
kind: NodeConfig
spec:
  cluster:
    apiServerEndpoint: https://XXXX.us-west-2.eks.amazonaws.com
    certificateAuthority: XXXX
    cidr: 10.100.0.0/16
    name: my-cluster
  kubelet:
    config:
      clusterDNS:
      - 10.100.0.10
    flags:
    - --node-labels=alpha.eksctl.io/cluster-name=my-cluster,alpha.eksctl.io/nodegroup-name=my-nodegroup
    - --register-with-taints=special=true:NoSchedule

--//--
```

对于基于原生 AMI 的 EKS-managed 节点，默认`NodeConfig`值由 EKS MNG 在后台添加，直接附加到 EC2 的用户数据中。因此，在这种情况下，`eksctl`无需将其包含在启动模板中。

### 配置引导过程
<a name="_configuring_the_bootstrapping_process"></a>

要设置高级属性或干脆覆盖默认值，eksctl 允许您指定自定义`NodeConfig`过`nodeGroup.overrideBootstrapCommand`孔或 `NodeConfig` `managedNodeGroup.overrideBootstrapCommand`

```
managedNodeGroups:
  - name: mng-1
    amiFamily: AmazonLinux2023
    ami: ami-0253856dd7ab7dbc8
    overrideBootstrapCommand: |
      apiVersion: node.eks.aws/v1alpha1
      kind: NodeConfig
      spec:
        instance:
          localStorage:
            strategy: RAID0
```

此自定义配置将由 eksctl 添加到用户数据之前，并与默认配置合并。`nodeadm`在此处阅读有关合并多个配置对象`nodeadm`的能力的[更多信息](https://awslabs.github.io/amazon-eks-ami/nodeadm/doc/examples/#merging-multiple-configuration-objects)。