基本的なKubernetes
首先
从上次的帖子以来,很久没联系了。上次,我写了一篇关于Docker入门的文章,内容包括Docker的安装方法和简单的使用技巧。
今回は、その上位互換として知られる kubernetes の概念や用語について勉強したことをアウトプットしていきます。
2.kubernetesとは
kubernetesを一言でいうと、「コンテナを管理するためのシステム」です。
ざっくり言うと、「Docker 拡張バージョン」です。
Docker は単一マシンの上でコンテナを動作させるシステムでしたが、kubernetes は複数マシン上でコンテナを管理・統合させるためのシステムです。コンテナオーケストレーションといいます。
図2.1 は視覚的にDockerとkubernetesの差分を理解するために図示しました。
Dockerのみだと単一ホスト上で動作するコンテナの管理のみしかできませんが、kubernetesを利用することによって、複数のDockerホストをkubernetesのシステム上で管理することができるようになります。
虽然在 Docker 中可以使用 Docker Swarm 在多台计算机上管理容器,但 Kubernetes 的功能更加强大且在实践中被广泛使用,因此本次我们将使用 Kubernetes 进行操作。
3. Kubernetes 的术语
下面总结了在Kubernetes中使用的术语。
・開発者(チーム)それぞれのNamespaceを作ることでメインのNamaspaceを綺麗に保つことができる3Pod・コンテナの集合体単位
・デプロイするコンテナの集合体になるので、密結合となるwebサーバ用コンテナとアプリケーションサーバ用コンテナをまとめると有効活用できる4ReplicaSet・同じ仕様のPodを複数生成・管理
・Podのみでは単一のPodのデプロイしかできないため、複数のPodをデプロイする際に利用する5Deployment・ReplicaSetの世代管理
・実運用では、ほとんどDeploymentの単位でデプロイを管理すること6Service・Podにアクセスするための経路定義
・アクセスするPodを制御するために利用する
・L4層レベルでのアクセス制御が可能7Ingress・Service公開の口
・L7層レベルでのアクセス制御が可能
・HTTP/HTTPSでのサービス公開をする際はServiceよりIngressをメインに使用する8ConfigMap・構成ファイル、コマンドライン引数、環境変数、ポート番号などの設定情報を定義し、Podへ供給する
・うまく活用すると構成の変更や管理が容易にできる9PersistentVolume・Podが利用するストレージを定義
・ストレージの実体である10PersistentVolumeClaim・ストレージを論理的に抽象化したリソース
・PersistentVolumeを動的に確保する(必要な要領のみ)11StorageClass・PersistentVolumeが確保するストレージの種類を定義(HDDやSSD等)12StatefulSet・同じ仕様で一意性のあるPodを複数生成・管理
・継続的にデータを永続化するステートフルアプリケーション管理用リソース13job・常駐目的ではない複数(もしくは単一)Podを生成し、正常終了するまで管理するリソース
・大規模計算やバッチ処理などで利用14Cronjob・cron記法でスケジュール実行されるjob15Secret・認証情報等の機密データを定義するリソース
・証明書や秘密鍵、パスワードなどの機密情報を管理する16Role・Namespace内で操作可能なkubernetesリソースのルールを定義するリソース
・権限の管理に利用する17RoleBinding・Roleとkubernetesリソースを利用するユーザーを紐付ける18ClusterRole・クラスタ全体で操作可能なkubernetesリソースをルール定義する19ClusterRoleBinding・ClusterRole と kubernetesリソースを利用するユーザーを紐付ける20ServiceAccount・Pod に kubernetes リソースを操作させる際に利用するユーザー
3.まとめ
今回は、kubernetes の概念と用語についてまとめました。
時間があるときにこの用語を参考に実際に手を動かしながら、kubernetesの使い方を見ていきたいと思います。
その中でkubernetesのどういう部分が人気が高いのか考えていければと思います。うまくまとめられればqiitaにも投稿してみます。
また、最近マイクロサービスアーキテクチャを採用したシステムとkubernetesの相性がいいと言われますが、その意味も気にしながら手を動かしていこうと思います。
请提供相关资料
请参考以下资料
请查阅参考资料
参考以下信息
请给出参考资料
-
- Docker/Kubernetes 実践コンテナ開発入門
- kubernetes公式ドキュメント