预研
参考链接:
CV的使用说明书:https://documentation.commvault.com/commvault/v11/article?p=1664.htm
对比:https://www.yuque.com/qiaokate/somwp3/lfv4xb
可以参考环境(cv),时间是630(17.3)
添加集群具体操作
1. 添加kubeconfig文件(已有)
2. 使用service account
具体原理参见kubernetes的RBAC,也就是要在所需的名称空间中创建一个服务帐户,并为其分配集群管理角色。
即要创建一个自定义的ClusterRole并将其与服务帐户相关联。
操作:(官方的)https://documentation.commvault.com/11.24/essential/129223_create_service_account_for_kubernetes.html
#获取集群端点
kubectl config view
kubectl create ns namespace
#在kubectl命令行工具中执行create命令创建业务帐户test。
kubectl create serviceaccount test -n namespace
#将业务帐号加入到绑定的集群角色default-sa-crb中
kubectl create clusterrolebinding default-sa-crb \
--clusterrole=cluster-admin \
--serviceaccount=namespace:test
# 提取服务帐号token。
kubectl describe secret -n namespace $(kubectl get secret -n namespace -o jsonpath="{.items[?(@.metadata.annotations['kubernetes\.io/service-account\.name']=='test')].metadata.name}")
curl -k -XGET -H "Authorization: Bearer xxx" 'https://x.x.x.x:6443/api'
- 在集群内创建一个服务账号和服务令牌,使用该服务账号和令牌实现在CV上添加集群的效果
[x] 使用该服务账号和令牌,连接api-server,能够获取到config的配置信息。
[x] 即为验证ok
3. 使用userName,password的方式
操作:这个找不到官方的,参考https://www.yuque.com/qiaokate/somwp3/grxqyw
#在master及node上都要添加这个文件
vim /etc/kubernetes/pki/basic_auth_file
123456,admin,1
121212,system,2
vim /etc/kubernetes/manifests/kube-apiserver.yaml
- --basic-auth-file=/etc/kubernetes/pki/basic_auth_file # add
- --secure-port=6443#不变
# - --insecure-bind-address=0.0.0.0 #add
# - --insecure-port=8080 #update
#修改之后需要重启
systemctl restart kubelet
kubectl create clusterrolebinding test \
--clusterrole=cluster-admin \
--user=admin
kubectl get clusterrolebinding test
kubectl --server=https://x.x.x.x:6443 \
--username=admin \
--password=123456 \
--insecure-skip-tls-verify=true get nodes
echo 'admin:123456' | base64
curl -k -XGET -H "Authorization: Basic xxx" 'https://x.x.x.x:6443/api'
- 在集群内创建一个userName和password,使用该userName和password实现在CV上添加集群的效果
添加集群时的用户名:admin,密码是:123456
添加成功
[ ] 使用该userName和password,连接api-server,能够获取到config的配置信息。
[ ] 即为验证ok
问题
- userName和password不正确,后台访问报401
解决:检查node节点配置,重启systemctl restart kubelet
- 修改yaml文件后连不上集群
解决:重启虚拟机reboot,systemctl restart kubelet
- 使用userName和password并不安全
上面这种访问方式并不安全,它使用的实际上是localhost端口,不是安全端口
解决:取消开放这种端口,- --insecure-port=0
即可
参考这一篇:https://kubernetes.io/zh/docs/concepts/security/controlling-access/
注意一个安全问题!!!
- 看下资源管理服务代码,看添加kubeconfig文件那部分和预研是否相同(已经在做了)
- 还有年度计划还没写
ut很慢,etcd那部分的ut怎么写,5月8号提到60%可否,要赶快提代码了。。(完成)错误码要看一下那个公共库,要整理一下其他服务的错误码,按照4个维度来,这个有空再做。。(完成)脚本那里的api文档的createStatus需要修改。。(记得记得)(完成)- 待续吧。。还有什么事情。。
问题:这个是为什么报错
ok!要绑定权限