

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 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  |   **完整：**標記**限制：**列出、讀取、寫入  | 
|  EC2 Auto Scaling  |   **有限：**列出、寫入  | 
|  EKS  |  完整存取  | 
|  IAM  |   **有限：**列出、讀取、寫入、許可管理  | 
|  Systems Manager  |   **有限：**清單、讀取  | 

## 針對 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`，其位於 `$PATH` Git Bash 的 中。

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

您可以使用 Homebrew 在 MacOS 和 Linux 上安裝軟體。

AWS 會維護 Homebrew 點擊，包括 eksctl。

如需 Homebrew tap 的詳細資訊，請參閱 [Github 上的專案](https://github.com/aws/homebrew-tap)和 eksctl 的 [Homebrew 公式](https://github.com/aws/homebrew-tap/blob/master/Formula/eksctl.rb)。

 **使用 Homebrew 安裝 eksctl** 

1. （先決條件） 安裝 [Homebrew](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 - eksctl](https://gallery.ecr.aws/eksctl/eksctl) 上的用量。例如 

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

## Shell 完成
<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>

下列命令可用於魚自動完成：

```
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 （不使用套件管理員），則需要手動更新它。