Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Kubernetesの基礎の基礎

 Kubernetesの基礎の基礎

以下動画のテキストです
https://youtu.be/6nWkYN8R_U8

842515eaf8fbb2dfcc75197e7797dc15?s=128

Satoru Takeuchi

September 11, 2021
Tweet

Transcript

  1. Kubernetesの基礎の基礎 Sep, 11st, 2021 Satoru Takeuchi twitter: satoru_takeuchi

  2. 対象読者 • Kubernetes(k8s)よくわからん • そもそも用語がわからん ◦ 宣言的(declarative) ◦ 命令的(imperative) •

    コンテナが何かは知っている。Docker触ったことある
  3. Kubernetesとは • コンテナ化されたアプリケーションの実行基盤 1. 複数マシンにまたがる分散システム • 実行の流れ 1. アプリのあるべき状態を書いた yaml(マニフェスト)をK8sにapply

    2. あるべき状態を保つために K8sが頑張ってくれる
  4. 従来型アプリ実行基盤との違い • やりたいこと ◦ nginxを2多重で動かす • 誰が何をするか ◦ 従来型: 命令型管理(imperative

    management) i. nginxコンテナを2つ動かす ii. 1つ落ちたら人間が1つ再起動 ◦ K8s: 宣言的管理(declarative management) i. 右のマニフェストをapply ii. K8sがnginxコンテナを2つ立ち上げる iii. コンテナが落ちたらK8sが自動的に再起動 • 宣言型はアプリの管理が楽 ◦ 📝 ややこしいトラブルのときは相変わらず人間が頑張らなければいけない 4 apiVersion: apps/v1 kind: Deployment metadata: name: nginx spec: replicas: 2 template: spec: containers: - name: nginx image: nginx:1.14.2
  5. アプリ実行までの流れ 1. ユーザがDeploymentのマニフェストをapply 2. K8sがマニフェストに対応するDeploymentリソースを作る 3. K8sがReplicasetリソースを作る ◦ 📝 Deploymentとの違いは気にしなくていい

    4. K8sがreplicasフィールドの値だけPodリソースを作る ◦ Podは1つ以上のコンテナのかたまり 5. K8sがPodリソースに対応するコンテナを実行 5
  6. ユーザがDeploymentのマニフェストをapply • kubectl apply nginx.yaml 6 K8sクラスタ アプリのマニフェスト よろしく

  7. K8sがマニフェストに対応するDeploymentリソースを作る 7 K8sクラスタ アプリのマニフェスト Deploymentリソース

  8. K8sがDeploymentリソースに対応するReplicaSetリソースを作る 8 K8sクラスタ ReplicaSetリソース Deploymentリソース

  9. K8sがReplicaSetリソースに対応するPodリソースを作る 9 K8sクラスタ ReplicaSetリソース Deploymentリソース Podリソース Podリソース

  10. K8sがPodリソースに対応するコンテナを実行 10 K8sクラスタ ReplicaSetリソース Deploymentリソース Podリソース Podリソース nginxコンテナ nginxコンテナ

  11. ユーザはマニフェストをK8sに食わせただけ! 11 K8sクラスタ ReplicaSetリソース Deploymentリソース Podリソース Podリソース nginxコンテナ nginxコンテナ まさに宣言的(declarative)!

  12. 参考サイト • Manage Kubernetes Objects ◦ https://kubernetes.io/docs/tasks/manage-kubernetes-objects/