やったこと
Hello Minikube のチュートリアルをやります。
Mac のローカル環境で試します。
調査
Minicube クラスタ作成
$ minikube start
$ minikube dashboard
Deployment (Pod) 作成
$ kubectl create deployment hello-node --image=gcr.io/hello-minikube-zero-install/hello-node
deployment.apps/hello-node created
Deployment
Kubernetesの Deployment はPodの状態を確認し、Podのコンテナが停止した場合には再起動します。
$ kubectl get deployments
NAME READY UP-TO-DATE AVAILABLE AGE
hello-node 0/1 1 0 9s
pods
KubernetesのPod は、コンテナの管理やネットワーキングの目的でまとめられた、1つ以上のコンテナのグループです。
$ kubectl get pods
NAME READY STATUS RESTARTS AGE
hello-node-7676b5fb8d-shsvh 0/1 ContainerCreating 0 41s
Service 作成
コンテナを仮想ネットワークの外部からアクセスできるようにするため、サービスを作成する必要があります。
$ kubectl expose deployment hello-node --type=LoadBalancer --port=8080
service/hello-node exposed
確認
$ kubectl get services
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
hello-node LoadBalancer 10.109.94.113 <pending> 8080:32678/TCP 24s
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 36m
ブラウザが開きます
$ minikube service hello-node
|-----------|------------|-------------|-----------------------------|
| NAMESPACE | NAME | TARGET PORT | URL |
|-----------|------------|-------------|-----------------------------|
| default | hello-node | | http://192.168.99.102:32678 |
|-----------|------------|-------------|-----------------------------|
🎉 Opening kubernetes service default/hello-node in default browser...
おまけ
Katacoda はブラウザから Docker や Kubernetes を試すことが出来ます。