Kubernetesスケジューラは、スケジューラが大幅可用性、パフォーマンスと容量に影響を与え、豊かな戦略、トポロジの意識、ワークロードの特定の機能です。スケジューラのリソース要件が個別と総称検討する必要があり、その上のサービス要件、ハードウェア/ソフトウェア/ポリシー制約、親和性および抗親和性の仕様、データの局所性、負荷外乱の間、期限の品質。必要なAPIのワークロードの特定の要件を介して公開されます。
KUBE-スケジューラはKUBE-マスター3関連サービスの1(ApiServer、コントローラマネージャー、スケジューラ)は、状態サービスは、クラスタの状態を変更し、そこにあります。
有効にすると同時に、複数のマスター・ノード上の関連するサービスは、一貫してそこに同期されます場合は、そんなにマスターノードKUBE-スケジューラサービスは、マスタとスレーブ、ロックリースを使用してkukubernetes(リースロック)実現のリーダーの関係することができ選挙は、具体的には、KUBE-スケジューラをするには、起動パラメータ「--leaderエレクト= true」に設定します。
クラスタのプログラミング
ホスト名 | 役割 | IPアドレス |
---|---|---|
mfyxw30.mfyxw.com | KUBE-スケジューラ | 192.168.80.30 |
mfyxw40.mfyxw.com | KUBE-スケジューラ | 192.168.80.40 |
起動スクリプトKUBE-スケジューラを作成します。1.
ホスト上でKUBE-スケジューラの起動スクリプトを作成mfyxw30.mfyxw.com
[root@mfyxw30 ~]# cat > /opt/kubernetes/server/bin/kube-scheduler.sh << EOF
#!/bin/sh
./kube-scheduler \\
--leader-elect \\
--log-dir /data/logs/kubernetes/kube-scheduler \\
--master http://127.0.0.1:8080 \\
--v 2
EOF
ホスト上でKUBE-スケジューラの起動スクリプトを作成mfyxw40.mfyxw.com
[root@mfyxw40 ~]# cat > /opt/kubernetes/server/bin/kube-scheduler.sh << EOF
#!/bin/sh
./kube-scheduler \\
--leader-elect \\
--log-dir /data/logs/kubernetes/kube-scheduler \\
--master http://127.0.0.1:8080 \\
--v 2
EOF
ディレクトリを作成し、ファイルのパーミッションを調整2.
Kube-scheduler.shはmfyxw30.mfyxw.comホスト、ディレクトリを作成/データ/ログ/ kubernetes / KUBE-スケジューラ上のファイルのパーミッションを調整します
[root@mfyxw30 ~]# chmod +x /opt/kubernetes/server/bin/kube-scheduler.sh
[root@mfyxw30 ~]# mkdir -p /data/logs/kubernetes/kube-scheduler
Kube-scheduler.shはmfyxw40.mfyxw.comホスト、ディレクトリを作成/データ/ログ/ kubernetes / KUBE-スケジューラ上のファイルのパーミッションを調整します
[root@mfyxw40 ~]# chmod +x /opt/kubernetes/server/bin/kube-scheduler.sh
[root@mfyxw40 ~]# mkdir -p /data/logs/kubernetes/kube-scheduler
KUBE-スケジューラのためのスーパーバイザープロファイルを作成します3。
mfyxw30.mfyxw.comホストでは、スーパーバイザKUBE-スケジューラのプロファイルを作成します
[root@mfyxw30 ~]# cat > /etc/supervisord.d/kube-scheduler.ini << EOF
[program:kube-scheduler-80-30]
command=/opt/kubernetes/server/bin/kube-scheduler.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-scheduler/scheduler.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-scheduler/scheduler.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ホストでは、スーパーバイザKUBE-スケジューラのプロファイルを作成します
[root@mfyxw40 ~]# cat > /etc/supervisord.d/kube-scheduler.ini << EOF
[program:kube-scheduler-80-40]
command=/opt/kubernetes/server/bin/kube-scheduler.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-scheduler/scheduler.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-scheduler/scheduler.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.スタートおよび検査サービス
ホスト上でKUBE-スケジューラサービスを開始し、mfyxw30.mfyxw.comをチェック
[root@mfyxw30 ~]# supervisorctl update
[root@mfyxw30 ~]# supervisorctl status
ホスト上でKUBE-スケジューラサービスを開始し、mfyxw40.mfyxw.comをチェック
[root@mfyxw40 ~]# supervisorctl update
[root@mfyxw40 ~]# supervisorctl status
kubectlとビュークラスタ健康のためにリンクを作成します。5.
mfyxw30.mfyxw.comホストおよびビュークラスタ健康上kubectlのリンクを作成します。
[root@mfyxw30 ~]# ln -s /opt/kubernetes/server/bin/kubectl /usr/bin/kubectl
[root@mfyxw30 ~]# kubectl get cs
mfyxw40.mfyxw.comホストおよびビュークラスタ健康上kubectlのリンクを作成します。
[root@mfyxw40 ~]# ln -s /opt/kubernetes/server/bin/kubectl /usr/bin/kubectl
[root@mfyxw40 ~]# kubectl get cs