2020年5月22日金曜日

k8s技術メモ

1)Config mapで使用で、各種チューニングを検討する。

2)セキュリティ調査専用のコンテナ(pod)

3)ディザスターリカバリ対策
①Heptio Ark
   -クラスターやPersistent Volumeのバックアップ、リカバリが可能。
   -etcd ではなく Kubernetes API を使ってバックアップ/リストアを行う
   -バックアップしたデータは AWS S3 などのオブジェクトストレージに保存
   -Persistent Volume のバックアップにはクラウドプロバイダの API を利用



master/node の概要図:

[Master/Nodeについて]

Master:
Kubernetesクラスタ内のコンテナを操作するためのサーバです。kubectlコマンドを使ってクラスタを構成したりリソースを操作したりする際は、マスターサーバがコマンドからのリクエストを受け取って処理を行います。
複数台からなるKubernetesクラスタ内のノードのリソース使用状況を確認して、コンテナを起動するノードを自動的に選択します。
Kubernetesがオーケストレーションツールと呼ばれるのも、このマスターサーバが複数台からなる分散したノードをまとめて管理することで、あたかも1台のサーバであるかのようにふるまいます。  

kube-apiserver:
Kubernetesのリソース情報を管理するためのフロントエンドのREST APIです。
コンポーネントからリソースの情報を受け取りetcd上に格納します。
他のコンポーネントはこのetcdの情報にkube-apiserverを介してアクセスします。
このkube-apiserverにアクセスするには、GUIツールやkubebtlコマンドを使います。
また、アプリケーション内からkube-apiserverを呼び出すことも可能です。
kube-apiserverは認証/認可の機能も持っています。


kube-scheduler:
kube-schedulerはPodをどのNodeで動かすかを制御するコンポーネントです。kube-schedulerは、ノードに割り当てられていないPodに対して、Kubernetesクラスタの状態を確認し、空きスペースを持つNodeを探してPodを実行させ
スケジューリングを行います。


kube-controller-manager:
kube-controller-managerはKubernetesクラスタの状態を常に監視するコンポーネントです。
定義ファイルで指定したものと実際のNodeやコンテナで動作している状態をまとめて管理します。


[Node]
実際にDockerコンテナを動作させPodを稼働させるサーバです。
AKSでは仮想マシン(VM)で構成され、通常は複数用意して、クラスタを構成します。
ノードの管理は、マスターサーバが行います。
何台ノードを用意するかは、システムの規模や負荷によって異なりますが台数が増えると可用性が向上します。
なお、kubeproxyというコンポーネントも動作します。

kubelet:
kubeletは、Podの定義ファイルに従ってコンテナを実行したり、ストレージをマウントしたりするエージェント機能を持ちます。
またKubeletは、Nodeのステータスを定期的に監視する機能を持ちステータスが変わるとAPI Serverに通知します。


[etcd]
Kubernetesクラスタの構成を保持する分散KVSです。
Key-Value型でデータを管理します。
どのようなPodをどう配置するかなどの情報を持ち、API Serverから参照されます。


オートヒーリング機能:
Podを自動的に復旧させる機能をオートヒーリング(Auto Healing)機能といいます。



0 件のコメント:

コメントを投稿

php log(ECS ログ出力)

# PHPエラーログの設定 ENV PHP_INI_DIR /usr/local/etc/php RUN { \ echo 'log_errors = On' ; \ echo 'error_log = /proc/self/...