12. 搭建rancher及导入k8s集群
下载镜像
- docker pull registry.cn-beijing.aliyuncs.com/kevin-public/rancher:v2.1.3
启动镜像
- docker run -d --restart=unless-stopped -p 8088:80 -p 8443:443 rancher/rancher:v2.1.3
访问rancher
https://{{rancherip}}:8443/
添加集群
- 选择import
- kubectl create -f ~/k8s-ansible/rancher/0.namespace.yaml
- kubectl create -f ~/k8s-ansible/rancher/1.sa.yaml
- kubectl create -f ~/k8s-ansible/rancher/2.clusterrole.yaml
- kubectl create -f ~/k8s-ansible/rancher/3.clusterrolebinding.yaml
- 创建 secret
- 修改url为rancher url,此处为base64值
- 修改token为标识rancher中的集群,即
https://10.254.0.122:8443/v3/import/2pt9cxkj6bsnkbr76mfs2lzdwgmrtckzmcvdhhwlgpl2vbznvqfrdj.yaml
中的2pt9cxkj6bsnkbr76mfs2lzdwgmrtckzmcvdhhwlgpl2vbznvqfrdj
的base64码 - kubectl create -f ~/k8s-ansible/rancher/4.secret.yaml
- 创建deployment
- 修改
5.deployment.yaml
中的CATTLE_SERVER
及CATTLE_CA_CHECKSUM
- kubectl create -f ~/k8s-ansible/rancher/5.deployment.yaml
- 查看日志是否启动正常kubectl -n cattle-system logs cattle-cluster-agent-7dd96fddd5-mh6t6
- 修改
- 创建ds
- 参考
https://localhost:8443/v3/import/2pt9cxkj6bsnkbr76mfs2lzdwgmrtckzmcvdhhwlgpl2vbznvqfrdj.yaml
修改6.ds.yaml中的CATTLE_SERVER
及CATTLE_CA_CHECKSUM
- kubectl create -f ~/k8s-ansible/rancher/6.ds.yaml
- 参考
- 进入rancher中查看,发现添加正常
角色配置
- 添加 project 角色,即k8s中的role
若定义的某角色不存在,则自定义,如 pods/exec
- 添加用户
- 在项目中为用户添加角色
问题
- The DaemonSet "cattle-node-agent" is invalid: spec.template.spec.containers[0].securityContext.privileged: Forbidden: disallowed by cluster policy
kube-apiserver和kubelet的启动脚本中添加--allow_privileged=true
如果kube-apiserver不添加,无法创建ds
如果kubelet不添加,创建ds后 pod无法启动成功