

本指南提供 Wickr Enterprise 的文件。如果您使用的是 AWS Wickr，請參閱 [AWS Wickr 管理指南](https://docs.aws.amazon.com/wickr/latest/adminguide/what-is-wickr.html)或 [AWS Wickr 使用者指南](https://docs.aws.amazon.com/wickr/latest/userguide/what-is-wickr.html)。

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

# 連線至 Kubernetes 叢集
<a name="connecting"></a>

Amazon EKS API 只能透過建立為部署一部分的堡壘主機存取。因此，所有`kubectl`命令都必須在堡壘主機本身上執行，或透過堡壘主機代理。

## 透過堡壘代理連線
<a name="connecting-proxying-connections-through-the-bastion"></a>

第一次連線到叢集時，您必須使用 `aws eks update-kubeconfig`命令更新本機 kubeconfig 檔案，然後在組態`proxy-url`中設定 。然後，每次您想要連線到叢集時，您都會使用堡壘主機啟動 SSM 工作階段，以將連接埠轉送至代理以進行 API 存取。

**一次性設定**

`WickrEks` CloudFormation 堆疊上有一個以 開頭的名稱的輸出值`WickrEnterpriseConfigCommand`。值包含為叢集產生 kubectl 組態所需的完整命令。您可以使用下列命令檢視此輸出：

```
aws cloudformation describe-stacks --stack-name WickrEks \ 
--query 'Stacks[0]{{.Outputs}}[?starts_with(OutputKey, `WickrEnterpriseConfigCommand`)]{{.OutputValue}}' \
--output text
```

這應該會輸出開頭為 的命令`aws eks update-kubeconfig`。執行此命令。

接著，必須將 Kubernetes 組態修改為透過堡壘主機代理請求。您可以使用下列命令來完成此操作：

```
CLUSTER_ARN=$(aws cloudformation describe-stacks --stack-name WickrEks --query 'Stacks[0].Outputs[?OutputKey==`WickrEnterpriseEksClusterArn`].OutputValue' --output text)
kubectl config set {{"clusters.${CLUSTER_ARN}.proxy-url"}} http://localhost:8888
```

如果正常運作，您會看到類似 的輸出 `'Property "clusters.arn:aws:eks:us-west-2:012345678912:cluster/WickrEnterprise5B8BF472-1234a41c4ec48b7b615c6789d93dcce.proxy-url" set.'`

**連接埠轉送至堡**壘

若要連線至 Amazon EKS 叢集，您必須啟動 SSM 工作階段，將轉送請求移植到在堡壘主機上執行的代理。執行此操作的命令會以`WickrEks`堆疊`BastionSSMProxyEKSCommand`上的輸出的形式提供。執行下列命令以檢視輸出值：

```
aws cloudformation describe-stacks --stack-name WickrEks \ 
--query 'Stacks[0]{{.Outputs}}[?OutputKey==`BastionSSMProxyEKSCommand`]{{.OutputValue}}' \
--output text
```

其輸出的命令將以 開頭`aws ssm start-session`。執行此命令以啟動在連接埠 8888 上執行的本機代理，您可以透過此連接埠連線到 Amazon EKS 叢集。如果連接埠轉送正常運作，輸出應顯示「等待連線...」。請讓此程序在存取 Amazon EKS 叢集所需的整個時間內持續執行。

如果一切設定正確，您將能夠在另一個終端機`kubectl get nodes`中執行，以列出 Amazon EKS 叢集中的工作者節點：

```
kubectl get nodes 
   NAME                           STATUS   ROLES    AGE     VERSION
   ip-10-0-111-216.ec2.internal   Ready     none   3d      v1.26.4-eks-0a21954
   ip-10-0-180-1.ec2.internal     Ready     none   2d23h   v1.26.4-eks-0a21954
   ip-10-0-200-102.ec2.internal   Ready     none   3d      v1.26.4-eks-0a21954
```