Kubernetes の基本を学ぶ (Pod と Node)
kubernetes
Published: 2019-10-27

やったこと

Kubernetes のチュートリアルをやります。

Mac のローカル環境で試します。

調査

Pod

  • 共有ストレージ(ボリューム)
  • ネットワーキング(クラスタに固有のIPアドレス)
  • コンテナのイメージバージョンや使用するポートなどの、各コンテナをどう動かすかに関する情報

Node

Podは常にNode上で動作します。NodeはKubernetesではワーカーマシンであり、クラスタによって仮想、物理マシンのどちらであってもかまいません。

チュートリアル

$ kubectl describe pods

※ 長いので出力結果は省略

$ kubectl proxy
Starting to serve on 127.0.0.1:8001
$ export POD_NAME=$(kubectl get pods -o go-template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}')
$ echo Name of the Pod: $POD_NAME
Name of the Pod: kubernetes-bootcamp-69fbc6f4cf-rfvs5
$ kubectl exec $POD_NAME env
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
HOSTNAME=kubernetes-bootcamp-69fbc6f4cf-rfvs5
KUBERNETES_PORT_443_TCP_PORT=443
KUBERNETES_PORT_443_TCP_ADDR=10.96.0.1
KUBERNETES_SERVICE_HOST=10.96.0.1
KUBERNETES_SERVICE_PORT=443
KUBERNETES_SERVICE_PORT_HTTPS=443
KUBERNETES_PORT=tcp://10.96.0.1:443
KUBERNETES_PORT_443_TCP=tcp://10.96.0.1:443
KUBERNETES_PORT_443_TCP_PROTO=tcp
NPM_CONFIG_LOGLEVEL=info
NODE_VERSION=6.3.1
HOME=/root

コンテナに入る

$ kubectl exec -ti $POD_NAME bash

@コンテナ

# curl localhost:8080
Hello Kubernetes bootcamp! | Running on: kubernetes-bootcamp-69fbc6f4cf-rfvs5 | v=1

ログ確認

$ kubectl logs $POD_NAME
Kubernetes Bootcamp App Started At: 2019-10-27T06:22:01.080Z | Running On:  kubernetes-bootcamp-69fbc6f4cf-rfvs5

Running On: kubernetes-bootcamp-69fbc6f4cf-rfvs5 | Total Requests: 1 | App Uptime: 2741.92 seconds | Log Time: 2019-10-27T07:07:43.000Z

参考