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