Pod
4282 ワード
Pod
クバーネディスのフローティングアプリケーションで最小のデフォルト単位
Pod構造
K 8 sはコンテナ管理ツールなので、すべてのアプリケーションがコンテナで実行されます.クバーネディスの基本単位はポンドで、1ポンドに複数の容器を含めることができます.なぜクバーネディスはコンテナを直接操作するのではなく、パードという単位を作って管理しているのだろうか.
コンテナの目的はプロセスを回転させることです.したがって、コンテナにはsystemdのようなプロセスマネージャはありません(もちろんインストールで作成することもできます).したがって、複数のアプリケーションをコンテナに移行する場合、コンテナで実行されるすべてのアプリケーションの管理はユーザーの責任です.したがって、コンテナ単位で管理されると、コンテナ内で複数のアプリケーションが実行される場合があり、これらのアプリケーションを直接管理することはできません.
シード単位で管理するメリットはたくさんあります.通常、各パーティションにはコンテナがありますが、前述したように、1つのコンテナに複数のアプリケーションを入れるよりも、各コンテナで複数のアプリケーションを実行し、これらのコンテナを1つのパーティションとして管理します.通常、これらのアプリケーションは、1つのパーティションでディレクトリを共有したり、ネットワークを共有したりすることができるため、コンテナに含まれるように相互にアクセスできます.
シードに複数のコンテナを挿入する場合は、主にこれらのコンテナが同じホスト上で動作すべきか否かによって判断される.
Pod Network
元のコンテナはLinuxネーミングスペースによって完全に分離されています.ただし,pard内のコンテナは同じLinuxネーミングスペースを共有するため,IPとポートスペースを共有する.これは、シードライブラリ内のコンテナが異なるlocalhostでアクセスできることを意味し、他のコンテナで使用されるポート番号は他のコンテナでは使用できません.
コンテナの実行時によって異なりますが、最も一般的なドッキングステーションでは、ドッキングステーションのコンテナに同じLinuxネーミングスペースを共有させることがコンテナを一時停止します.
Pause Container
ドックベースのクバーネディスを取り付けると、/pause
命令で始まるコンテナがたくさん見えます.これは非常に重要なコンテナであるため,種子コンテナに同じLinuxネーミング空間を共有させることができる.
他にもゾンビを取り込むキャラクターがいます.pauseコンテナはPIDネームスペースも共有します.これはpauseコンテナがpadeでInit Processとして機能することを意味し、pauseコンテナが親プロセスになることを意味します.これにより、他のコンテナにゾンビプロセスが発生しても、コンテナを一時停止すると、そのプロセスがサブプロセスに継承され、ゾンビプロセスを受け取る効果が得られます.
Liveness Probe
アプリケーションエラーでコンテナが死亡した場合、kubeletはそれに気づき、コンテナを再起動します.しかし、アプリケーションが無限ループに陥ってエラーが発生しなかったが、正常に動作しなかった場合、kubeletもこれを検出できない.liveness probe
はkubeletにこのような状況を認識させる手段である.
プローブには、HTTP、TCP、Execの3つの方法があります.Webサーバでは、主にHTTPプローブを使用します.apiVersion: v1
kind: Pod
metadata:
labels:
test: liveness
name: liveness-http
spec:
containers:
- name: liveness
image: k8s.gcr.io/liveness
args:
- /server
livenessProbe:
httpGet:
path: /healthz
port: 8080
initialDelaySeconds: 3
periodSeconds: 3
Webサーバを実装する場合、/healtz uriに200個の応答を送信し、上記のプローブが追加されたパラメータを解放することができ、Webサーバが機能エラーで要求を受信できない場合、kubeletはこれを検出し、コンテナを強制的に閉じた後に再起動する.
K 8 sはコンテナ管理ツールなので、すべてのアプリケーションがコンテナで実行されます.クバーネディスの基本単位はポンドで、1ポンドに複数の容器を含めることができます.なぜクバーネディスはコンテナを直接操作するのではなく、パードという単位を作って管理しているのだろうか.
コンテナの目的はプロセスを回転させることです.したがって、コンテナにはsystemdのようなプロセスマネージャはありません(もちろんインストールで作成することもできます).したがって、複数のアプリケーションをコンテナに移行する場合、コンテナで実行されるすべてのアプリケーションの管理はユーザーの責任です.したがって、コンテナ単位で管理されると、コンテナ内で複数のアプリケーションが実行される場合があり、これらのアプリケーションを直接管理することはできません.
シード単位で管理するメリットはたくさんあります.通常、各パーティションにはコンテナがありますが、前述したように、1つのコンテナに複数のアプリケーションを入れるよりも、各コンテナで複数のアプリケーションを実行し、これらのコンテナを1つのパーティションとして管理します.通常、これらのアプリケーションは、1つのパーティションでディレクトリを共有したり、ネットワークを共有したりすることができるため、コンテナに含まれるように相互にアクセスできます.
シードに複数のコンテナを挿入する場合は、主にこれらのコンテナが同じホスト上で動作すべきか否かによって判断される.
Pod Network
元のコンテナはLinuxネーミングスペースによって完全に分離されています.ただし,pard内のコンテナは同じLinuxネーミングスペースを共有するため,IPとポートスペースを共有する.これは、シードライブラリ内のコンテナが異なるlocalhostでアクセスできることを意味し、他のコンテナで使用されるポート番号は他のコンテナでは使用できません.
コンテナの実行時によって異なりますが、最も一般的なドッキングステーションでは、ドッキングステーションのコンテナに同じLinuxネーミングスペースを共有させることがコンテナを一時停止します.
Pause Container
ドックベースのクバーネディスを取り付けると、/pause
命令で始まるコンテナがたくさん見えます.これは非常に重要なコンテナであるため,種子コンテナに同じLinuxネーミング空間を共有させることができる.
他にもゾンビを取り込むキャラクターがいます.pauseコンテナはPIDネームスペースも共有します.これはpauseコンテナがpadeでInit Processとして機能することを意味し、pauseコンテナが親プロセスになることを意味します.これにより、他のコンテナにゾンビプロセスが発生しても、コンテナを一時停止すると、そのプロセスがサブプロセスに継承され、ゾンビプロセスを受け取る効果が得られます.
Liveness Probe
アプリケーションエラーでコンテナが死亡した場合、kubeletはそれに気づき、コンテナを再起動します.しかし、アプリケーションが無限ループに陥ってエラーが発生しなかったが、正常に動作しなかった場合、kubeletもこれを検出できない.liveness probe
はkubeletにこのような状況を認識させる手段である.
プローブには、HTTP、TCP、Execの3つの方法があります.Webサーバでは、主にHTTPプローブを使用します.apiVersion: v1
kind: Pod
metadata:
labels:
test: liveness
name: liveness-http
spec:
containers:
- name: liveness
image: k8s.gcr.io/liveness
args:
- /server
livenessProbe:
httpGet:
path: /healthz
port: 8080
initialDelaySeconds: 3
periodSeconds: 3
Webサーバを実装する場合、/healtz uriに200個の応答を送信し、上記のプローブが追加されたパラメータを解放することができ、Webサーバが機能エラーで要求を受信できない場合、kubeletはこれを検出し、コンテナを強制的に閉じた後に再起動する.
ドックベースのクバーネディスを取り付けると、
/pause
命令で始まるコンテナがたくさん見えます.これは非常に重要なコンテナであるため,種子コンテナに同じLinuxネーミング空間を共有させることができる.他にもゾンビを取り込むキャラクターがいます.pauseコンテナはPIDネームスペースも共有します.これはpauseコンテナがpadeでInit Processとして機能することを意味し、pauseコンテナが親プロセスになることを意味します.これにより、他のコンテナにゾンビプロセスが発生しても、コンテナを一時停止すると、そのプロセスがサブプロセスに継承され、ゾンビプロセスを受け取る効果が得られます.
Liveness Probe
アプリケーションエラーでコンテナが死亡した場合、kubeletはそれに気づき、コンテナを再起動します.しかし、アプリケーションが無限ループに陥ってエラーが発生しなかったが、正常に動作しなかった場合、kubeletもこれを検出できない.liveness probe
はkubeletにこのような状況を認識させる手段である.
プローブには、HTTP、TCP、Execの3つの方法があります.Webサーバでは、主にHTTPプローブを使用します.apiVersion: v1
kind: Pod
metadata:
labels:
test: liveness
name: liveness-http
spec:
containers:
- name: liveness
image: k8s.gcr.io/liveness
args:
- /server
livenessProbe:
httpGet:
path: /healthz
port: 8080
initialDelaySeconds: 3
periodSeconds: 3
Webサーバを実装する場合、/healtz uriに200個の応答を送信し、上記のプローブが追加されたパラメータを解放することができ、Webサーバが機能エラーで要求を受信できない場合、kubeletはこれを検出し、コンテナを強制的に閉じた後に再起動する.
apiVersion: v1
kind: Pod
metadata:
labels:
test: liveness
name: liveness-http
spec:
containers:
- name: liveness
image: k8s.gcr.io/liveness
args:
- /server
livenessProbe:
httpGet:
path: /healthz
port: 8080
initialDelaySeconds: 3
periodSeconds: 3
Reference
159.[Kubernetes]Pauseコンテナの役割と原理(原文:TheAlwidgePause Container)
[翻訳]クボニスネットワーク#1:Podsの理解
Reference
この問題について(Pod), 我々は、より多くの情報をここで見つけました
https://velog.io/@harryroh2003/Pod
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
Reference
この問題について(Pod), 我々は、より多くの情報をここで見つけました https://velog.io/@harryroh2003/Podテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol