连接弹性算力池集群
SenseCore弹性算力池集群控制台可完成集群基础元信息的管理。对kubernetes集群内的配置使用,可通过kubectl命令行或使用预置kubernetes dashboard完成。
通过kubectl命令行使用集群
安装kubectl可参考:kubectl客户端安装和配置方法,推荐使用1.31以上版本kubectl客户端。
安装kubectl后需要配置的config文件,可以通过SenseCore控制台或SenseCore统一命令行获取。
为满足私有网络内部开发环境、Internet环境长期使用需求和临时访问需要,平台提供基于证书和token的三种config文件。包括:长期有效的内网config文件、长期有效的公网config文件和临时config文件。config文件标识了使用kubernetes集群的用户身份,kuberentes内部的权限配置,参考管理Kubernetes权限和配额
临时config文件
临时config文件基于token认证,有效期为生成后3小时,到期自动失效,在SenseCore控制台可达的网络环境内,即可使用临时config文件连接至弹性算力池集群,满足用户临时调试和快速试用需要。
获取方式:
进入弹性算力池集群详情页“连接信息”标签页,选择“公网访问”后,点击“生成临时KubeConfig”按钮,会生成可用于临时访问的config文件内容。
将config文件内容配置在对应路径后(Linux和MacOS默认为 $HOME/.kube/config,Windows默认为~/.kube/config)。可使用kubectl连接集群,常用测试命令及执行效果如下:
kubectl auth whoami
返回的Username即为SenseCore的用户ID
kubectl auth can-i create vcjob --namespace=test-volcanno
查询当前用户是否具备test-volcanno命名空间的任务创建权限,返回yes表示可以在test-volcanno命名空间内创建vcjob
kubectl auth can-i --list
返回当前用户具备的权限列表
当前集群创建人和租户管理员,默认具备所有资源(Resources:* ) 的全部权限(Verb:* )。
临时config过期后,执行kubectl命令执行时会提示未认证。
长期有效的内网config文件
长期有效的内、外网config文件均通过SenseCore平台签发的证书认证,有效期均为生成后1年。在弹性算力池集群所在的私有网络VPC中可达,满足私有网络VPC中的开发调试使用(例如:以同VPC网络内的云主机作为开发环境时使用),通过VPC网络环境,提供稳定高性能的访问链路。
获取方式:
进入弹性算力池集群详情页“连接信息”标签页,选择“内网访问”后可复制已有config文件或生成新的config文件。
长期有效的公网config文件
1、将集群API Server暴露至Internet
公网config文件需要通过DNAT规则或其它方式,将内网访问端点(即内网config中的server地址,如下示例的https://10.233.44.19:443)发布至Internet。
apiVersion: v1
clusters:
- cluster:
server: https://10.233.44.19:443
DNAT规则示例:
公网IP | 公网IP端口 | 协议 | 目的IP | 目的端口 |
---|---|---|---|---|
按需选择可用的EIP地址 | EIP空闲的端口,如8443 | TCP | 10.233.44.19 | 443 |
2、在弹性算力池控制台填入已配置的公网端点
在进入弹性算力池集群详情页“连接信息”标签页,选择“公网访问”后,编辑公网访问端点,填入前面配置的公网IP、端口,配置完成后可在控制台生成公网访问使用的config文件。kubectl使用此配置文件时可以通过配置的公网端点,连接当前集群。
吊销config证书
临时config文件,在生成3小时后可自动失效,不支持吊销。
当用户有安全等原因的证书更新需求,可点击"吊销KubeConfig"使已签发的个人长期config文件失效。
管理员吊销其它用户的config文件,会直接影响被吊销用户的使用,只允许通过SenseCore统一命令行或OpenAPI操作。
通过kubernetes dashboard使用集群
弹性算力池集群创建时,在kubernetes集群kube-system命名空间默认安装了kubernetes原生dashboard,具备kube-system命名空间服务查看权限的用户,可在集群详情页面可查看kubernetes dashboard的内网访问端点。
通过kubectl port-forward命令实现本机可访问dashboard
能够通过kubectl访问集群时,可通过kubectl命令,将dashboard的访问端点发布至本机指定端口,满足临时访问dashboar使用需求。
示例:将kube-system内的kubernetes-dashboard-kong-proxy发布至本机的65443端口,执行如下命令:
kubectl port-forward -n kube-system svc/kubernetes-dashboard-kong-proxy 65443:443
可通过访问 https://localhost:65443 打开 dashboard 登录页面。您可以使用临时 KubeConfig 中的 token,或通过控制台点击“复制 token”按钮获取的 token 进行登录。
在kubernetes dashboard中,可以在权限范围内编辑、提交yaml,登陆容器。在kubernetes dashboard内的操作等效kubectl操作。
配置DNAT规则将kubernetes dashboard发布至Internet
当需要在私有网络VPC外部,如internet网络中稳定访问dashboard时,建议由管理员或运维人员通过配置DNAT规则等方式,将dashboard访问地址发布至internet。
示例规则:
公网IP | 公网IP端口 | 协议 | 目的IP | 目的端口 |
---|---|---|---|---|
按需选择可用的公网IP地址 | 所选IP空闲的端口,如8443 | TCP | 上图中的10.233.30.183 | 443 |
配置完成后,可使用 https:<公网IP>:<公网IP端口,如8443> 在公网IP可达范围内访问dashboard,访问后的登陆等操作,同kubectl port-forward方式。