クラスタルーチンタスクを処理するバックグラウンドスレッドであるコントローラのKUBEコントローラマネージャの動作
コントローラマネージャは、そのような休暇が展開が作成ポッドを介して生じる場合のように、RSコントローラ等クラスタ内のすべてのリソースの管理ノード、ポッド用の共同責任コントローラが原因である異なる複数のリソースからなるクラスタの内部コントロールセンター、、、の管理であります我々は受け入れ、exitイベントを処理し、そしてコピーの所望の数を維持するために、新しいポッドを作成します。
ほぼすべての特定のリソースが必要な状態を維持するために、特定のコントローラーの保守管理を持っている、とコントローラマネージャの仕事は一緒にすべてのコントローラを収集することです:
(1)提供基础设施降低Controller的实现复杂度
(2)启动和维持Controller的正常运行
ノードのクラスタ、ポッドコピーサービスエンドポイント(エンドポイント)、コマンド・スペース(名前空間)、サービスアカウント(ServiceAccount)、リソース割当量(ResourceQuota)投与、ノード予定外のダウンタイムを担当するコントローラーマネージャー、コントローラマネージャは、速やかになりますクラスタが予想される動作状態に常にあることを保証するために、自動修復プロセスを検索し、実行
コントローラは、障害がシステムの状態変化の様々な得発生した場合、システムは「所望の状態」に状態を修復しようとする各現在のリアルタイムステータスを提供するインタフェースAPIサーバーを介してクラスタ全体各リソースオブジェクトを監視します
KUBE-コントローラ-Managerは、3つの関連サービスKUBE-マスターの一つであり、状態サービスがあり、クラスタのステータスを変更します
有効にすると同時に、複数のマスター・ノード上の関連するサービス場合は、整合性が同期され、すべてのマルチマスタはKUBEコントローラマネージャサービスノードのみマスタとスレーブの関係であることができる、ロックリース(リースロック)を用いkubernetes 「真= --leaderエレクト」起動パラメータを設定し、選挙のリーダー、特定するKUBE-コントローラマネージャを実装
コントローラのワークフロー
クラスタのプログラミング
ホスト名 | 役割 | IPアドレス |
---|---|---|
mfyxw30.mfyxw.com | コントローラマネージャ | 192.168.80.30 |
mfyxw40.mfyxw.com | コントローラマネージャ | 192.168.80.40 |
ヒント:この展開ドキュメントHDSS7-21.host.com
ホストは、例えば、ノードのインストールの展開方法を計算する別のものと類似しています
コントローラマネージャの起動スクリプトを作成します。1.
ホスト上で実行さmfyxw30.mfyxw.com
[root@mfyxw30 ~]#cat > /opt/kubernetes/server/bin/kube-controller-manager.sh << EOF
#!/bin/sh
./kube-controller-manager \\
--cluster-cidr 172.7.0.0/16 \\
--leader-elect true \\
--log-dir /data/logs/kubernetes/kube-controller-manager \\
--master http://127.0.0.1:8080 \\
--service-account-private-key-file ./cert/ca-key.pem \\
--service-cluster-ip-range 172.16.0.0/16 \\
--root-ca-file ./cert/ca.pem \\
--v 2
EOF
ホスト上で実行さmfyxw40.mfyxw.com
[root@mfyxw40 ~]#cat > /opt/kubernetes/server/bin/kube-controller-manager.sh << EOF
#!/bin/sh
./kube-controller-manager \\
--cluster-cidr 172.7.0.0/16 \\
--leader-elect true \\
--log-dir /data/logs/kubernetes/kube-controller-manager \\
--master http://127.0.0.1:8080 \\
--service-account-private-key-file ./cert/ca-key.pem \\
--service-cluster-ip-range 172.16.0.0/16 \\
--root-ca-file ./cert/ca.pem \\
--v 2
EOF
ファイルのパーミッションを調整し、ディレクトリを作成2.
ファイルのパーミッションを調整し、mfyxw30.mfyxw.com上のディレクトリを作成します
[root@mfyxw30 ~]#chmod +x /opt/kubernetes/server/bin/kube-controller-manager.sh
[root@mfyxw30 ~]#mkdir -p /data/logs/kubernetes/kube-controller-manager
ファイルのパーミッションを調整し、mfyxw40.mfyxw.com上のディレクトリを作成します
[root@mfyxw40 ~]#chmod +x /opt/kubernetes/server/bin/kube-controller-manager.sh
[root@mfyxw40 ~]#mkdir -p /data/logs/kubernetes/kube-controller-manager
コントローラマネージャとして構成スーパーバイザを作成3。
コントローラマネージャのプロファイルを作成するためのmfyxw30.mfyxw.comホストスーパーバイザ上
[root@mfyxw30 ~]#cat > /etc/supervisord.d/kube-conntroller-manager.ini << EOF
[program:kube-controller-manager-80.30]
command=/opt/kubernetes/server/bin/kube-controller-manager.sh ; the program (relative uses PATH, can take args)
numprocs=1 ; number of processes copies to start (def 1)
directory=/opt/kubernetes/server/bin ; directory to cwd to before exec (def no cwd)
autostart=true ; start at supervisord start (default: true)
autorestart=true ; retstart at unexpected quit (default: true)
startsecs=22 ; number of secs prog must stay running (def. 1)
startretries=3 ; max # of serial start failures (default 3)
exitcodes=0,2 ; 'expected' exit codes for process (default 0,2)
stopsignal=QUIT ; signal used to kill process (default TERM)
stopwaitsecs=10 ; max num secs to wait b4 SIGKILL (default 10)
user=root ; setuid to this UNIX account to run the program
redirect_stderr=false ; redirect proc stderr to stdout (default false)
stdout_logfile=/data/logs/kubernetes/kube-controller-manager/controll.stdout.log ; stdout log path, NONE for none; default AUTO
stdout_logfile_maxbytes=64MB ; max # logfile bytes b4 rotation (default 50MB)
stdout_logfile_backups=4 ; # of stdout logfile backups (default 10)
stdout_capture_maxbytes=1MB ; number of bytes in 'capturemode' (default 0)
stdout_events_enabled=false ; emit events on stdout writes (default false)
stderr_logfile=/data/logs/kubernetes/kube-controller-manager/controll.stderr.log ; stderr log path, NONE for none; default AUTO
stderr_logfile_maxbytes=64MB ; max # logfile bytes b4 rotation (default 50MB)
stderr_logfile_backups=4 ; # of stderr logfile backups (default 10)
stderr_capture_maxbytes=1MB ; number of bytes in 'capturemode' (default 0)
stderr_events_enabled=false ; emit events on stderr writes (default false)
EOF
コントローラマネージャのプロファイルを作成するためのmfyxw40.mfyxw.comホストスーパーバイザ上
[root@mfyxw40 ~]#cat > /etc/supervisord.d/kube-conntroller-manager.ini << EOF
[program:kube-controller-manager-80.40]
command=/opt/kubernetes/server/bin/kube-controller-manager.sh ; the program (relative uses PATH, can take args)
numprocs=1 ; number of processes copies to start (def 1)
directory=/opt/kubernetes/server/bin ; directory to cwd to before exec (def no cwd)
autostart=true ; start at supervisord start (default: true)
autorestart=true ; retstart at unexpected quit (default: true)
startsecs=22 ; number of secs prog must stay running (def. 1)
startretries=3 ; max # of serial start failures (default 3)
exitcodes=0,2 ; 'expected' exit codes for process (default 0,2)
stopsignal=QUIT ; signal used to kill process (default TERM)
stopwaitsecs=10 ; max num secs to wait b4 SIGKILL (default 10)
user=root ; setuid to this UNIX account to run the program
redirect_stderr=false ; redirect proc stderr to stdout (default false)
stdout_logfile=/data/logs/kubernetes/kube-controller-manager/controll.stdout.log ; stdout log path, NONE for none; default AUTO
stdout_logfile_maxbytes=64MB ; max # logfile bytes b4 rotation (default 50MB)
stdout_logfile_backups=4 ; # of stdout logfile backups (default 10)
stdout_capture_maxbytes=1MB ; number of bytes in 'capturemode' (default 0)
stdout_events_enabled=false ; emit events on stdout writes (default false)
stderr_logfile=/data/logs/kubernetes/kube-controller-manager/controll.stderr.log ; stderr log path, NONE for none; default AUTO
stderr_logfile_maxbytes=64MB ; max # logfile bytes b4 rotation (default 50MB)
stderr_logfile_backups=4 ; # of stderr logfile backups (default 10)
stderr_capture_maxbytes=1MB ; number of bytes in 'capturemode' (default 0)
stderr_events_enabled=false ; emit events on stderr writes (default false)
EOF
4.スタートおよび検査サービス
mfyxw30.mfyxw.comホスト上のサービスの実行とチェックを有効にします
[root@mfyxw30 ~]# supervisorctl update
[root@mfyxw30 ~]# supervisorctl status
mfyxw30.mfyxw.comホスト上のサービスの実行とチェックを有効にします
[root@mfyxw40 ~]# supervisorctl update
[root@mfyxw40 ~]# supervisorctl status