• 二进制部署k8s集群(四):部署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

  • 相关阅读:
    CnForums1.0 Alpha 开始试运行
    asp.net Forums2.0修改密码后无法登陆问题——都是Cache惹的祸
    CnForums1.0 Alpha RC1 发布
    Docker: Nvidia Driver, Nvidia Docker 推荐安装步骤
    Docker: docker pull, wget, curl, git clone 等如何更快?
    DL4J实战之三:经典卷积实例(LeNet5)
    纯净Ubuntu16安装CUDA(9.1)和cuDNN
    DL4J实战之四:经典卷积实例(GPU版本)
    JAVA 中静态块、静态变量加载顺序详解
    设计模式之单例模式
  • 原文地址:https://www.cnblogs.com/yyee/p/13226630.html
Copyright © 2020-2023  润新知