[MEMO] katacodaでLearn Kubernetes ver10 Exam
Kubernetesの理解度テストがあるのでそれをやってみた。 pod/deployment/serviceとかyamlの書き方などの基本の基をやる感じのてすとでしたわ。ただ、こういう実経験があるとやっぱり、自分のまだ理解してないことが出てくる。
知らんかったり、理解を深めたり
completion
これで、保管できるようになるらしい。
source <(kubectl completion bash)
Daemon Set
DaemonSet は全ノードでdeploymentが動いてるのを保証するオブジェクト。メトリクスを集めるのに適してる。
top command
こんな感じで、各nodeやpodのリソース使用率を管理できるみたい。 知らんかった!
master $ kubectl top node NAME CPU(cores) CPU% MEMORY(bytes) MEMORY% master 160m 4% 1029Mi 54% node01 68m 1% 683Mi 17% master $ kubectl top pod NAME CPU(cores) MEMORY(bytes) examplehttpapp-58f66848-8tw4m 1m 0Mi examplehttpapp-58f66848-j2zv5 0m 1Mi examplehttpapp-58f66848-qv5rq 0m 0Mi examplehttpapp-58f66848-rpfmh 0m 0Mi examplehttpapp-58f66848-z5pwc 0m 0Mi
ReplicaSet and Deployment
この違いを正しく理解したかったのでちょっと調べたらこのページがわかりやすそう。DeploymentがReplicaSetを管理し、ReplicaSetがpodのScaleを担保するみたいな感じかな。
Deploymentはrollout戦略をサポートし、imageのバージョンなどを変更したときに、どうやって、ReplicaSetを作り変えるかを管理する。 また、これらのコマンドでそれを管理できる。
kubectl rollout status deployment hogehoge kubectl rollout history deploy hogehoge
もちろん、rollbackもワン・コマンド!すげぇ!
kubectl rollout undo deployment hogehoge