下载镜像

  • 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_SERVERCATTLE_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_SERVERCATTLE_CA_CHECKSUM
    • kubectl create -f ~/k8s-ansible/rancher/6.ds.yaml
  • 进入rancher中查看,发现添加正常

角色配置

  • 添加 project 角色,即k8s中的role
    WX20181222-194603@2x

若定义的某角色不存在,则自定义,如 pods/exec

  • 添加用户
  • 在项目中为用户添加角色
    WX20181222-194922@2x

问题

  • 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无法启动成功