だいごろうのブログ

熊本出身で大阪、東京、パリを転勤して、今は福岡でデータエンジニアです

katacodaでLearn Kubernetes ver1 Clusterの作成/コンテナの立ち上げ/pod,deploy,service

katacodaで kubernetesの勉強をしていきます。このページはメモ。 www.katacoda.com

Launch A Single Node Cluster

kubernetes上にコンテナを立ち上げる

  • minikube - kubernetesクラスターをローカルテスト用に構築する
  • kubectl - kuberneteのクライアント

Commnads

  • minikube version
  • minikube start
  • minikube addons enable dashboard : ダッシュボードの追加
  • kubectl cluster-info
  • kubectl get pods
  • kubectl run : imageから実行
kubectl run first-deployment --image=nginx --port=80 
  • kubectl expose : portのフォワーディングなどできる
 kubectl expose deployment first-deployment --port=80 --type=NodePort

実際のサンプルケース

  • ジョブの実行
 kubectl run first-deployment --image=nginx --port=80
 kubectl expose deployment first-deployment --port=80 --type=NodePort
  • ポートを探る
export PORT=$(kubectl get svc first-deployment -o go-template='{{range.spec.ports}}{{if .nodePort}}{{.nodePort}}{{"\n"}}{{end}}{{end}}')

Launch a multi-node cluster using Kubeadm

kubernetesクラスターをkubeadmで立ち上げる

 * kubeadm : manager cli of kubernetes

command

  • kubeadm init : masterノードを立ち上げるコマンド。token初期値を渡すこともできる、ランダム生成させることもできる。productionではランダム生成させよう
  • kubeadm token list : 保持しているトークンを表示できる
  • kubeadm join : master ipとトークンを渡すことでkubernetesクラスターに参加できる
  • kubectl get nodes 参加しているノードを調べる
  • kubectl create deployment imageからpodを立ち上げる

yaml

  • kind: ServiceAccount service Accountをつくる
  • kind: ClusterRoleBinding ServiceAccountを紐づけできる

Start containers using Kubectl

command

  • kubectl describe 対象の詳細を表示できる
  • kubectl expose ポートをexternal-ipに紐付けるやり方。実際はserviceを作成する。
  • kubectl scale --replica=3 deployment * のpod数を上げる

kubectl get svc svc = services