二进制部署k8s集群(4):部署controller-manager与kube-scheduler

部署 kube-controller-manager

在【管理节点1】与【管理节点2】两个节点的kubernetes安装目录添加kube-controller-manager.sh启动文件,配置内容相同。

cd /opt/kubernetes/server/bin
vi kube-controller-manager.sh

kube-controller-manager.sh 启动文件内容:

#!/bin/sh
 ./kube-controller-manager \
  --cluster-cidr 172.17.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 ./certs/ca-key.pem \
  --service-cluster-ip-range 10.67.0.0/16 \
  --root-ca-file ./certs/ca.pem \
  --v 2

 --cluster-cidr 表示pod节点的ip地址段,kube-controller-manager.sh启动文件与kube-proxy.sh启动文件两个要配置成一样。

--service-cluster-ip-range 表示apiserver服务器的ip地址段,需要跟kube-apiserver启动文件的 --service-cluster-ip-range 参数配置成一致。

--master 表示跟kube-apiserver内部的通讯地址。

 

赋予启动文件执行权限,添加数据目录。

chmod +x kube-controller-manager.sh
mkdir -p /data/logs/kubernetes/kube-controller-manager

 

编写【管理节点1】的 supervisor对kube-controller-manager的启动配置文件。

vi  /etc/supervisord.d/kube-controller-manager.ini

[program:kube-controller-manager-01]
command=/opt/kubernetes/server/bin/kube-controller-manager.sh
numprocs=1
directory=/opt/kubernetes/server/bin
autostart=true
autorestart=true
startsecs=30
startretries=3
exitcodes=0,2
stopsignal=QUIT
stopwaitsecs=10
user=root
redirect_stderr=true
stdout_logfile=/data/logs/kubernetes/kube-controller-manager/controller.stdout.log
stdout_logfile_maxbytes=64MB
stdout_logfile_backups=4
stdout_capture_maxbytes=1MB
stdout_events_enabled=false

 

编写【管理节点2】的 supervisor对kube-controller-manager的启动配置文件。

vi  /etc/supervisord.d/kube-controller-manager.ini

[program:kube-controller-manager-02]
command=/opt/kubernetes/server/bin/kube-controller-manager.sh
numprocs=1
directory=/opt/kubernetes/server/bin
autostart=true
autorestart=true
startsecs=30
startretries=3
exitcodes=0,2
stopsignal=QUIT
stopwaitsecs=10
user=root
redirect_stderr=true
stdout_logfile=/data/logs/kubernetes/kube-controller-manager/controller.stdout.log
stdout_logfile_maxbytes=64MB
stdout_logfile_backups=4
stdout_capture_maxbytes=1MB
stdout_events_enabled=false 

 

分别在【管理节点1】与【管理节点2】上更新supervisor,启动kube-controller-manager

supervisorctl update
supervisorctl status

 

  

查看kube-control状态

netstat -luntp | grep kube-

 

部署 kube-scheduler

分别在【管理节点1】与【管理节点2】上编写启动文件kube-scheduler.sh

 vi  /opt/kubernetes/server/bin/kube-scheduler.sh

#!/bin/sh
 ./kube-scheduler \
  --leader-elect \
  --log-dir /data/logs/kubernetes/kube-scheduler \
  --master http://127.0.0.1:8080 \
  --v 2

 

赋予启动文件可执行权限,创建日志目录。

chmod +x /opt/kubernetes/server/bin/kube-scheduler.sh
mkdir -p /data/logs/kubernetes/kube-scheduler

 

编写【管理节点1】supervisor对kube-scheduler的启动配置文件。

vi  /etc/supervisord.d/kube-scheduler.ini

[program:kube-scheduler-01]
command=/opt/kubernetes/server/bin/kube-scheduler.sh
numprocs=1
directory=/opt/kubernetes/server/bin
autostart=true
autorestart=true
startsecs=30
startretries=3
exitcodes=0,2
stopsignal=QUIT
stopwaitsecs=10
user=root
redirect_stderr=true
stdout_logfile=/data/logs/kubernetes/kube-scheduler/scheduler.stdout.log
stdout_logfile_maxbytes=64MB
stdout_logfile_backups=4
stdout_capture_maxbytes=1MB
stdout_events_enabled=false

 

编写【管理节点2】supervisor对kube-scheduler的启动配置文件。

vi  /etc/supervisord.d/kube-scheduler.ini

[program:kube-scheduler-02]
command=/opt/kubernetes/server/bin/kube-scheduler.sh
numprocs=1
directory=/opt/kubernetes/server/bin
autostart=true
autorestart=true
startsecs=30
startretries=3
exitcodes=0,2
stopsignal=QUIT
stopwaitsecs=10
user=root
redirect_stderr=true
stdout_logfile=/data/logs/kubernetes/kube-scheduler/scheduler.stdout.log
stdout_logfile_maxbytes=64MB
stdout_logfile_backups=4
stdout_capture_maxbytes=1MB
stdout_events_enabled=false

 

分别在【管理节点1】与【管理节点2】上更新supervisor,启动kube-controller-manager

supervisorctl update
supervisorctl status

 

  

 

 查看kube-control状态

netstat -luntp | grep kube-

 

查看kube-scheduler与kube-controller-manager启动日志

tail -fn 200 /data/logs/kubernetes/kube-scheduler/scheduler.stdout.log  
tail -fn 200 /data/logs/kubernetes/kube-controller-manager/controller.stdout.log

 

用kubectl管理集群

首先在【管理节点1】与【管理节点2】上创建kubectl的软连接到 /usr/bin/kubectl

ln -s /opt/kubernetes/server/bin/kubectl /usr/bin/kubectl

 

检测k8s集群的健康状态

kubectl get cs

 

 

posted @ 2020-07-02 19:38  民工黑猫  阅读(687)  评论(0编辑  收藏  举报