scent-yのブログ

学んだことや感じたことの備忘録

kubernetes 入門

技術書の備忘録を記録

  • k8s クラスタ
    • k8s のさまざまなリソースを管理する集合体
  • Node
    • クラスタが持つリソースで最も大きな概念。Docker コンテナのホスト。k8s でコンテナをデプロイするために利用される
    • k8s クラスタには全体を管理する Master が一つは配置される。クラスタには Master Node と Node が存在する
  • Master を構成する管理コンポーネント
    • kube-apiserver
    • etcd
      • キーバリューストア
    • kube-scheduler
      • Node を監視し、コンテナを配置する最適な Node を選択する
    • kube-controller-manager
      • リソースを制御するコントローラーを実行する
  • Namespace
  • Pod
    • コンテナの集合体の単位。少なくとも一つのコンテナを持つ。同一 Pod 内のコンテナは、全て同一の Node に配置される
  • ReplicaSet
    • 同じ Pod を複数生成、管理するためのリソース
    • 指定された Pod 数の確保や新しいバージョンへの Pod の入れ替え、以前のバージョンへの Pod のロールバックといった重要な役割を担う
  • Deployment
    • アプリケーションのデプロイの基本単位となるリソース。ReplicaSet は同一仕様の Pod を管理・制御するためのリソースで、Deployment は ReplicaSet を管理・操作するために提供されているリソース
  • Service
    • k8s クラスタにおいて Pod の集合(主に ReplicaSet)に対する経路やサービスディスカバリ(APIへの接続先が動的に変わる際に、クライアントは接続先を切り替えることなく一貫した名前でアクセスできるようにした仕組み)を提供するためのリソース。
  • ClusterIP Service
    • デフォルトで作成される Service が ClusterIP Service。クラスタ上の内部 IP アドレスに Service を公開できる。ある Pod から別の Pod 群へのアクセスは Service を介して行うことが可能。外からのリーチは不可
  • NodePort Service
    • クラスタ外からアクセスできる Service。 非マネージドで k8s を運用する場合、Master が単一障害点にならないよう、マルチ Master で3台配置するのが一般的
  • Ingress
    • 外部からのアクセスを制御し、クラスター内のサービスにルーティングするためのリソース。HTTP や HTTPS リクエストを適切なサービスに転送する。外部からのアクセスを一元的に管理することが可能

参考 Docker/Kubernetes 実践コンテナ開発入門