

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

# Eksctl 常見問答集
<a name="faq"></a>

## 一般
<a name="_general"></a>

 **我可以使用 `eksctl`來管理 未建立的叢集`eksctl`嗎？** 

是！從版本`0.40.0`中，您可以`eksctl`針對任何叢集執行 ，無論它是否由 建立`eksctl`。如需詳細資訊，請參閱[非 eksctl 建立的叢集](unowned-clusters.md)。

## 節點群組
<a name="nodegroup-faq"></a>

 **如何變更節點群組的執行個體類型？** 

從 的觀點來看`eksctl`，節點群組是不可變的。這表示一旦建立 ，唯一`eksctl`可以做的就是向上或向下擴展節點群組。

若要變更執行個體類型，請使用所需的執行個體類型建立新的節點群組，然後耗盡它，讓工作負載移至新的節點群組。在該步驟完成後，您可以刪除舊的節點群組。

 **如何查看節點群組產生的使用者資料？** 

首先，您需要管理節點群組的 Cloudformation 堆疊名稱：

```
eksctl utils describe-stacks --region=us-west-2 --cluster NAME
```

您將看到類似 的名稱`eksctl-CLUSTER_NAME-nodegroup-NODEGROUP_NAME`。

您可以執行下列動作來取得使用者資料。請注意從 base64 解碼和解壓縮 gziped 資料的最後一行。

```
NG_STACK=eksctl-scrumptious-monster-1595247364-nodegroup-ng-29b8862f # your stack here
LAUNCH_TEMPLATE_ID=$(aws cloudformation describe-stack-resources --stack-name $NG_STACK \
| jq -r '.StackResources | map(select(.LogicalResourceId == "NodeGroupLaunchTemplate") \
| .PhysicalResourceId)[0]')
aws ec2 describe-launch-template-versions --launch-template-id $LAUNCH_TEMPLATE_ID \
| jq -r '.LaunchTemplateVersions[0].LaunchTemplateData.UserData' \
| base64 -d | gunzip
```

## Ingress
<a name="_ingress"></a>

 **如何使用 設定輸入`eksctl`？** 

建議使用 [AWS Load Balancer 控制器](https://github.com/kubernetes-sigs/aws-load-balancer-controller)。有關如何將控制器部署到您的叢集，以及如何從舊的 ALB 傳入控制器遷移的文件，可[在這裡](https://docs.aws.amazon.com/eks/latest/userguide/alb-ingress.html)找到。

對於 Nginx 傳入控制器，設定會[與其他 Kubernetes 叢集上的](https://kubernetes.github.io/ingress-nginx/deploy/#aws)設定相同。

## kubectl
<a name="_kubectl"></a>

 **我使用的是 HTTPS 代理和叢集憑證驗證失敗，如何使用系統 CAs？** 

設定環境變數`KUBECONFIG_USE_SYSTEM_CA`以`kubeconfig`遵守系統憑證授權單位。