

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

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

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

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

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

### AL2 的默认设置
<a name="_default_settings_for_al2"></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)。