多集群管理
多集群管理是将集群注册进 Karpor 的入口,使能在大量集群间进行搜索和洞察。
注册集群
- 点击 集群管理 标签页。
- 点击 注册集群 按钮。
- 添加集群名字。集群名称必须唯一且一旦创建不能更改。
- 上传该集群的 KubeConfig 文件(一个具有读权限的文件就足够了)。
- 点击 验证并提交 按钮。
- 一旦验证通过,集群将会被添加到 集群管理 页面。
注意:请确保上传的集群证书中的 server 地址(目标集群地址)与 Karpor 之间 的网络连通性。举例来说,如果你在本地集群中部署了 Karpor,并希望注册该本地集群,则需要将集群证书中的 server 地址修改为集群内部地址 https://kubernetes.default.svc.cluster.local:443
,以确保 Karpor 能够直接访问目标集群。
注册 EKS 集群
如果你想注册 EKS 集群,那么需要对 KubeConfig 进行一些额外的操作:
- 导出 EKS 集群的 KubeConfig。例如,通过如下 aws 命令可以获得指定集群的 KubeConfig:
aws eks --region <YOUR REGION> update-kubeconfig --name <YOUR CLUSTER NAME> --kubeconfig=<OUTPUT FILENAME>
- 在导出的 KubeConfig 文件中的
users/exec
中添加env
、interactiveMode
和provideClusterInfo
字段。可以参考以下的 KubeConfig 结构:
apiVersion: v1
clusters:
- cluster:
certificate-authority-data: CA
server: SERVER
name: CLUSTER
contexts:
- context:
cluster: CLUSTER
user: USER
name: CONTEXT
current-context: CONTEXT
kind: Config
preferences: {}
users:
- name: USER
user:
exec:
apiVersion: client.authentication.k8s.io/v1beta1
args:
- --region
- ap-southeast-1
- eks
- get-token
- --cluster-name
- mycluster3
- --output
- json
command: aws
### 以下字段需要补充到 KubeConfig 中
env:
- name: AWS_ACCESS_KEY_ID
value: <YOUR AWS_ACCESS_KEY_ID>
- name: AWS_SECRET_ACCESS_KEY
value: <YOUR AWS_SECRET_ACCESS_KEY>
- name: AWS_DEFAULT_REGION
value: <AWS_DEFAULT_REGION>
- name: AWS_DEFAULT_OUTPUT
value: json
interactiveMode: IfAvailable
provideClusterInfo: false
- 在 注册集群 中使用修改后的 KubeConfig。
编辑集群
编辑 按钮允许修改 显示名称 和 描述,从而改变仪表盘中集群名称和描述的显示方式。轮换证书
当 KubeConfig 过期时,你可以通过点击 轮换证书 来更新证书。
移除集群
通过 删除 按钮方便地移除已注册的集群。