aws eks提供给devops 信息
先把结论说清楚:
DevOps 要的三样东西,对应你 EKS 集群(paimatix-prod,1.35)就是:
- host = EKS API Server Endpoint(集群地址)
- ca = 集群 CA 证书(base64 或 pem)
- 永久 token = 一个不过期的 ServiceAccount Token(用于外部客户端连接 K8s API)
下面一步步告诉你从哪里拿、怎么建。
一、Host(API Server 地址)
直接用 AWS CLI 查:
bash
运行
aws eks describe-cluster --name paimatix-prod --query "cluster.endpoint" --output text
输出类似:
plaintext
https://ABCDEFGHIJKLMNOPQRSTUVWXYZ.eks.<region>.amazonaws.com
这个就是 host。
二、CA 证书(CA)
同样用 AWS CLI 拿 base64 编码的 CA:
bash
运行
aws eks describe-cluster --name paimatix-prod --query "cluster.certificateAuthority.data" --output text
得到一长串 base64 字符串,直接给 DevOps 即可(大部分工具接受 base64 格式)。
如果他们需要
.pem 文件,可以解码:bash
运行
aws eks describe-cluster --name paimatix-prod --query "cluster.certificateAuthority.data" --output text | base64 -d > ca.pem
三、永久 Token(重点,K8s 1.35 也适用)
EKS 1.35(K8s 1.35)默认不会自动创建永久 token,必须手动建一个 ServiceAccount + Secret(type=service-account-token)Kubernetes。
1. 创建一个管理员 ServiceAccount(用 kube-system 或独立 ns)
bash
运行
kubectl create serviceaccount eks-perm-token-sa -n kube-system
2. 绑集群管理员权限(必须,否则 token 没权限)
bash
运行
kubectl create clusterrolebinding eks-perm-token-binding \
--clusterrole=cluster-admin \
--serviceaccount=kube-system:eks-perm-token-sa
3. 手动创建永久 Secret(不过期 token)
bash
运行
kubectl apply -f - <<EOF
apiVersion: v1
kind: Secret
metadata:
name: eks-perm-token-secret
namespace: kube-system
annotations:
kubernetes.io/service-account.name: eks-perm-token-sa
type: kubernetes.io/service-account-token
EOF
4. 取出 token(永久,无过期时间)
bash
运行
kubectl -n kube-system get secret eks-perm-token-secret -o jsonpath='{.data.token}' | base64 -d
输出的一长串字符串就是永久 token。
四、整理成给 DevOps 的交付物
直接给这三个:
- host:
https://xxxx.eks.<region>.amazonaws.com - ca:base64 字符串(或 ca.pem)
- token:上面拿到的永久 token
五、安全提醒(你要知道)
- 这个永久 token = 集群最高权限(cluster-admin),泄露等于丢集群控制权,只给可信的 DevOps 人员。
- 用完后建议:限制 IP、短期轮换、最小权限,不要长期持有永久 token。

浙公网安备 33010602011771号