1. 安装Edge版本的docker for mac,设置cn的registry mirrors。

    image.png

    1. 不能直接enable kubernetes,否则会一直卡在kubernetes is starting.

    (1)git clone https://github.com/maguowei/k8s-docker-for-mac.git
    (2)cd k8s-docker-for-mac/
    (3) ./load_images.sh 同时要打开这docker desktop

    1. 然后在docker的preferences里enable kubernetes

    image.png

    1. 然后就可以使用kubernetes的各种命令了

      1. $ kubectl get namespaces
      2. $ kubectl get posts --namespace kube-system
    2. 可以安装kubernetes-dashboard服务方便查看

    官方git仓库:https://github.com/kubernetes/dashboard

    1. # 直接执行或者把这个yaml文件下载到本地
    2. $ kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.4/aio/deploy/recommended.yaml
    3. # 查看部署的容器与服
    4. $ kubectl get deployments -A
    5. $ kubectl get services -A
    6. # API server监听在本地的8001端口上
    7. $ kubectl proxy

    然后即可在以上地址访问dashboard
    http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/
    此时会要求输入token。

    1. 创建user以登陆dashboard

    参考链接
    https://github.com/kubernetes/dashboard/blob/master/docs/user/access-control/creating-sample-user.md

    (1) 创建一个service account

    1. cat <<EOF | kubectl apply -f -
    2. apiVersion: v1
    3. kind: ServiceAccount
    4. metadata:
    5. name: admin-user
    6. namespace: kubernetes-dashboard
    7. EOF

    (2) 创建ClusterRoleBinding

    1. cat <<EOF | kubectl apply -f -
    2. apiVersion: rbac.authorization.k8s.io/v1
    3. kind: ClusterRoleBinding
    4. metadata:
    5. name: admin-user
    6. roleRef:
    7. apiGroup: rbac.authorization.k8s.io
    8. kind: ClusterRole
    9. name: cluster-admin
    10. subjects:
    11. - kind: ServiceAccount
    12. name: admin-user
    13. namespace: kubernetes-dashboard
    14. EOF

    (3) 获取Bearer Token

    1. kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | grep admin-user | awk '{print $1}')

    image.png
    (4) 把这个token拷贝到dashboard就可以登陆了