「.NET 開発基盤部会 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
目次 †
概要 †
詳細 †
CRI(Container Runtime Interface) †
コンテナ・オーケストレーション・ツールとコンテナランタイムの間のI/Fの標準仕様
- kubeletとが通信するためのインターフェースを規定
- 2016年12月にKubernetes 1.5のαリリースでAPIが実装された。
- これにより、コンテナランタイムをコンパチできるようになった。
- OpenShiftは、CRI-O をv4.0からデフォルトに採用する予定。
OCI(Open Container Initiative) †
- 「コンテナ」のフォーマット・ランタイムの標準化
を目的として設立されたイニシアチブ(組織)である。
- Linux Foundationプロジェクトの1つ。
Runtime Specification †
コンテナランタイムの標準仕様
- Linuxコンテナの標準仕様
- Default Filesystem
- Namespace
- cgropus
- など
- Linuxコンテナ以外の標準仕様
- Solaris
- Windows
- Virtual Machine
Image Format Specification †
コンテナイメージの標準仕様
- Image Manifest
- Image Index
- Image Layout
- Filesystem Layout
- Image Configuration
Distribution Specification †
コンテナイメージ配布の標準仕様
※ 仕様の策定が止まっている?
CSI(Container Storage Interface) †
概要 †
コンテナ・オーケストレーション・ツールとストレージの間のI/Fの標準仕様
- 外部ストレージを開発するベンダーが独立に
ストレージ側の機能追加や修正を行えることを目指す。
コンテナ・オーケストレーション・ツール側 †
3つのサイドカーコンテナを提供する必要がある。
CSIエンドポイントに対して
- external-attacher
VolumeAttachment?オブジェクトを監視し、
ボリュームをノードにアタッチする命令を行う。
- external-provisoner
PersistentVolumeClaim?オブジェクトを監視し、
ボリューム作成や削除の命令を行う。
- CSI driverとは
- コントローラ・ドライバとノード・ドライバ、製品個別CSPを実装。
- 機能:アタッチ・デタッチ、プロビジョン、マウント、ワークフローアロケーション
ストレージ・ベンダー側 †
コンテナ・オーケストレーション・ツールの
問い合わせに対応3つのサービスを実装する必要がある。
- Identity Service
Capability/Health/その他メタデータなどの問い合わせを行う機能を実装。
- Controller Service
ボリュームやスナップショットの作成・削除・一覧表示を行う機能を実装。
- Node Service
ボリュームをマウントする際に呼び出される機能を実装。
CNI(Container Network Interface) †
概要と動作原理 †
- コンテナがネットワークに接続するI/Fの標準仕様とリファレンス・プラグインを提供
- CNCF(Cloud Native Computing Foundation)にホストされたプロジェクトの一つ。
- 動作原理
- JSONフォーマットのネットワーク設定が標準入力とする。
- ネットワーク設定が環境変数としてプラグインへ渡される。
- ブラグインが渡された情報に基づいて命令を実行する。
サポートすべきオペレーション †
渡されるネットワーク設定 †
- cniVersion
CNI Specificationのバージョン
- args
コンテナランタイムより与えられる追加情報
- name servers
DNSネームサーバのリスト
参考 †
Wikipedia †
Qiita †