Skip to content

Instantly share code, notes, and snippets.

@ababup1192
Last active March 22, 2019 00:58
Show Gist options
  • Save ababup1192/067932cccf04ec8363524e142b62cc0d to your computer and use it in GitHub Desktop.
Save ababup1192/067932cccf04ec8363524e142b62cc0d to your computer and use it in GitHub Desktop.
Docker for Mac で k8s入門を良い感じに

Install Docker for Mac

良い感じに最新版を入れて、k8sオプションを入れる

  • Enable Kubernetes
  • Deploy Docker Stacks to Kubernets by default (こいつはいるかわからんけど)
  • Show system containers (advanced)

Install kubernetes-cli

$ brew install kubernetes-cli

Apply k8s on Docker for Mac

contextの切り替え

$ kubectl config get-contexts
CURRENT   NAME                 CLUSTER                      AUTHINFO             NAMESPACE
*         docker-for-desktop   docker-for-desktop-cluster   docker-for-desktop

$ kubectl config use-context docker-for-desktop
Switched to context "docker-for-desktop".

nodeとpodの確認

$ kubectl get nodes
NAME                 STATUS    ROLES     AGE       VERSION
docker-for-desktop   Ready     master    7m        v1.10.11

$ kubectl get po --all-namespaces
NAMESPACE     NAME                                         READY     STATUS    RESTARTS   AGE
docker        compose-74649b4db6-ml79n                     1/1       Running   0          22m
docker        compose-api-6b5fc97f86-gqkb7                 1/1       Running   0          22m
kube-system   etcd-docker-for-desktop                      1/1       Running   0          22m
kube-system   kube-apiserver-docker-for-desktop            1/1       Running   0          22m
kube-system   kube-controller-manager-docker-for-desktop   1/1       Running   0          22m
kube-system   kube-dns-86f4d74b45-8b5q4                    3/3       Running   0          23m
kube-system   kube-proxy-dgd6t                             1/1       Running   0          23m
kube-system   kube-scheduler-docker-for-desktop            1/1       Running   0          22m

Deploy kubernetes-dashboard

ダッシュボードをデプロイしてみる

$ kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml --record

secret "kubernetes-dashboard-certs" configured
serviceaccount "kubernetes-dashboard" configured
role.rbac.authorization.k8s.io "kubernetes-dashboard-minimal" configured
rolebinding.rbac.authorization.k8s.io "kubernetes-dashboard-minimal" configured
deployment.apps "kubernetes-dashboard" configured
service "kubernetes-dashboard" configured

デプロイされているか確認

 kubectl get deploy,po,svc -n kube-system
NAME                                         DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
deployment.extensions/kube-dns               1         1         1            1           33m
deployment.extensions/kubernetes-dashboard   1         1         1            1           3m

NAME                                             READY     STATUS    RESTARTS   AGE
pod/etcd-docker-for-desktop                      1/1       Running   0          32m
pod/kube-apiserver-docker-for-desktop            1/1       Running   0          32m
pod/kube-controller-manager-docker-for-desktop   1/1       Running   0          32m
pod/kube-dns-86f4d74b45-8b5q4                    3/3       Running   0          33m
pod/kube-proxy-dgd6t                             1/1       Running   0          33m
pod/kube-scheduler-docker-for-desktop            1/1       Running   0          32m
pod/kubernetes-dashboard-669f9bbd46-lxss9        1/1       Running   0          3m

NAME                           TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)         AGE
service/kube-dns               ClusterIP   10.96.0.10      <none>        53/UDP,53/TCP   33m
service/kubernetes-dashboard   ClusterIP   10.103.152.37   <none>        443/TCP         3m

ダッシュボードへアクセス

$ kubectl proxy
Starting to serve on 127.0.0.1:8001

http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/

Tokenを使ってサインイン

最近は認証するのにTokenを求められるらしい。以下の方法でTokenを取得。コピペ。

$ kubectl -n kube-system get secret | grep deployment-controller-token
deployment-controller-token-wjxjs                kubernetes.io/service-account-token   3         39m

$ kubectl -n kube-system describe secret deployment-controller-token-wjxjs
Name:         deployment-controller-token-wjxjs
Namespace:    kube-system
Labels:       <none>
Annotations:  kubernetes.io/service-account.name=deployment-controller
              kubernetes.io/service-account.uid=410226ed-4c35-11e9-a2aa-025000000001

Type:  kubernetes.io/service-account-token

Data
====
ca.crt:     1025 bytes
namespace:  11 bytes
token: 長いトークン
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment