

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

# Eksctl 的安装选项
<a name="installation"></a>

 `eksctl`可从官方版本中安装，如下所述。我们建议您仅`eksctl`从官方 GitHub 版本进行安装。您可以选择使用第三方安装程序，但请注意，AWS 不维护也不支持这些安装方法。您可以自行决定使用它们。

## 先决条件
<a name="_prerequisite"></a>

您需要配置 AWS API 证书。适用于 AWS CLI 或任何其他工具（kops、Terraform 等）的工具应该足够了。您可以使用[`~/.aws/credentials`文件](https://docs.aws.amazon.com/cli/latest/userguide/cli-config-files.html)变量或[环境变量](https://docs.aws.amazon.com/cli/latest/userguide/cli-environment.html)。有关更多信息，请参阅 [AWS CLI 参考](https://docs.aws.amazon.com/cli/latest/userguide/cli-environment.html)。

你还需要在你的命令中[使用 AWS IAM Authenticator for Kubernetes](https://github.com/kubernetes-sigs/aws-iam-authenticator) 命令（`aws-iam-authenticator`或`aws eks get-token`（在 AWS CLI 的 1.16.156 或更高版本中可用）。`PATH`

用于创建 EKS 集群的 IAM 账户应具有这些最低访问级别。


| AWS 服务 | 访问级别 | 
| --- | --- | 
|  CloudFormation  |  完全访问权限  | 
|  EC2  |   **完整：**Tagging L **imited：**列出、读取、写入  | 
|  EC2 Auto Scaling  |   **限制：**列出、写入  | 
|  EKS  |  完全访问权限  | 
|  IAM  |   **限制：**列表、读取、写入、权限管理  | 
|  Systems Manager  |   **Limited:** List, Read  | 

## 适用于Unix
<a name="_for_unix"></a>

要下载最新版本，请运行：

```
# for ARM systems, set ARCH to: `arm64`, `armv6` or `armv7`
ARCH=amd64
PLATFORM=$(uname -s)_$ARCH

curl -sLO "https://github.com/eksctl-io/eksctl/releases/latest/download/eksctl_$PLATFORM.tar.gz"

# (Optional) Verify checksum
curl -sL "https://github.com/eksctl-io/eksctl/releases/latest/download/eksctl_checksums.txt" | grep $PLATFORM | sha256sum --check

tar -xzf eksctl_$PLATFORM.tar.gz -C /tmp && rm eksctl_$PLATFORM.tar.gz

sudo install -m 0755 /tmp/eksctl /usr/local/bin && rm /tmp/eksctl
```

## 对于 Windows：
<a name="_for_windows"></a>

直接下载（最新版本）：
+  [AMD64/x86\$164](https://github.com/eksctl-io/eksctl/releases/latest/download/eksctl_windows_amd64.zip) 
+  [ARMv6](https://github.com/eksctl-io/eksctl/releases/latest/download/eksctl_windows_armv6.zip) 
+  [ARMv7](https://github.com/eksctl-io/eksctl/releases/latest/download/eksctl_windows_armv7.zip) 
+  [ARM64](https://github.com/eksctl-io/eksctl/releases/latest/download/eksctl_windows_arm64.zip) 

确保将存档解压缩到`PATH`变量中的某个文件夹。

或者，验证校验和：

1. [下载校验和文件：最新](https://github.com/eksctl-io/eksctl/releases/latest/download/eksctl_checksums.txt) 

1. 使用命令提示符手动将输出与下载`CertUtil`的校验和文件进行比较。

   ```
     REM Replace amd64 with armv6, armv7 or arm64
     CertUtil -hashfile eksctl_Windows_amd64.zip SHA256
   ```

1. 使用 PowerShell 运`-eq`算符自动进行验证，以获得`True`或`False`结果：

   ```
   # Replace amd64 with armv6, armv7 or arm64
    (Get-FileHash -Algorithm SHA256 .\eksctl_Windows_amd64.zip).Hash -eq ((Get-Content .\eksctl_checksums.txt) -match 'eksctl_Windows_amd64.zip' -split ' ')[0]
   ```

### 使用 Git Bash：
<a name="_using_git_bash"></a>

```
# for ARM systems, set ARCH to: `arm64`, `armv6` or `armv7`
ARCH=amd64
PLATFORM=windows_$ARCH

curl -sLO "https://github.com/eksctl-io/eksctl/releases/latest/download/eksctl_$PLATFORM.zip"

# (Optional) Verify checksum
curl -sL "https://github.com/eksctl-io/eksctl/releases/latest/download/eksctl_checksums.txt" | grep $PLATFORM | sha256sum --check

unzip eksctl_$PLATFORM.zip -d $HOME/bin

rm eksctl_$PLATFORM.zip
```

`eksctl`可执行文件放在 `$HOME/bin` Git Bash 中`$PATH`。

## Homebrew
<a name="_homebrew"></a>

你可以使用 Homebrew 在 macOS 和 Linux 上安装软件。

AWS 维护着一个包含 eksctl 的 Homebrew 水龙头。

有关 Homebrew tap 的更多信息，请参阅 [Github 上的项目](https://github.com/aws/homebrew-tap)和 eksctl 的 H [omebrew 公式](https://github.com/aws/homebrew-tap/blob/master/Formula/eksctl.rb)。

 **使用 Homebrew 安装 eksctl** 

1. （先决条件）安装[自制](https://brew.sh/)软件 

1. 添加 AWS 水龙头

   ```
   brew tap aws/tap
   ```

1. 安装 eksctl

   ```
   brew install aws/tap/eksctl
   ```

## Docker
<a name="_docker"></a>

对于每个版本和 RC，都会将容器镜像推送到 ECR 存储库`public.ecr.aws/eksctl/eksctl`。在 [ECR Public Gallery-ek](https://gallery.ecr.aws/eksctl/eksctl) sctl 上了解有关用法的更多信息。例如，

```
docker run --rm -it public.ecr.aws/eksctl/eksctl version
```

## 外壳完成
<a name="_shell_completion"></a>

### Bash
<a name="_bash"></a>

要启用 bash 完成功能，请运行以下命令，或者将其放入`~/.bashrc`或`~/.profile`：

```
. <(eksctl completion bash)
```

### Zsh
<a name="_zsh"></a>

要完成 zsh，请运行：

```
mkdir -p ~/.zsh/completion/
eksctl completion zsh > ~/.zsh/completion/_eksctl
```

然后把以下内容放进去`~/.zshrc`：

```
fpath=($fpath ~/.zsh/completion)
```

请注意，如果你没有像 oh-my-zsh那样运行发行版，则可能需要先启用自动补全功能（然后将其设置`~/.zshrc`为持久化）：

```
autoload -U compinit
compinit
```

### 鱼
<a name="_fish"></a>

以下命令可用于 fish auto 自动完成：

```
mkdir -p ~/.config/fish/completions
eksctl completion fish > ~/.config/fish/completions/eksctl.fish
```

### Powershell
<a name="_powershell"></a>

可以参考以下命令进行设置。请注意，路径可能会有所不同，具体取决于您的系统设置。

```
eksctl completion powershell > C:\Users\Documents\WindowsPowerShell\Scripts\eksctl.ps1
```

## 更新
<a name="_updates"></a>

**重要**  
如果您通过直接下载 eksctl（而不是使用软件包管理器）来安装，则需要手动对其进行更新。