1. 创建配置文件

  1. cat > /opt/kubernetes/cfg/kube-controller-manager.conf << EOF
  2. KUBE_CONTROLLER_MANAGER_OPTS="--logtostderr=false \\
  3. --v=2 \\
  4. --log-dir=/opt/kubernetes/logs \\
  5. --leader-elect=true \\
  6. --master=127.0.0.1:8080 \\
  7. --bind-address=127.0.0.1 \\
  8. --allocate-node-cidrs=true \\
  9. --cluster-cidr=10.244.0.0/16 \\
  10. --service-cluster-ip-range=10.0.0.0/24 \\
  11. --cluster-signing-cert-file=/opt/kubernetes/ssl/ca.pem \\
  12. --cluster-signing-key-file=/opt/kubernetes/ssl/ca-key.pem \\
  13. --root-ca-file=/opt/kubernetes/ssl/ca.pem \\
  14. --service-account-private-key-file=/opt/kubernetes/ssl/ca-key.pem \\
  15. --experimental-cluster-signing-duration=87600h0m0s"
  16. EOF
  • –master:通过本地非安全本地端口8080连接apiserver。
  • –leader-elect:当该组件启动多个时,自动选举(HA)
  • –cluster-signing-cert-file/–cluster-signing-key-file:自动为kubelet颁发证书的CA,与apiserver保持一致

    2. systemd管理controller-manager

    cat > /usr/lib/systemd/system/kube-controller-manager.service << EOF
    [Unit]
    Description=Kubernetes Controller Manager
    Documentation=https://github.com/kubernetes/kubernetes
    [Service]
    EnvironmentFile=/opt/kubernetes/cfg/kube-controller-manager.conf
    ExecStart=/opt/kubernetes/bin/kube-controller-manager \$KUBE_CONTROLLER_MANAGER_OPTS
    Restart=on-failure
    [Install]
    WantedBy=multi-user.target
    EOF
    

    3. 启动并设置开机启动

    systemctl daemon-reload
    systemctl start kube-controller-manager
    systemctl enable kube-controller-manager
    

    4.6 部署kube-scheduler

    1. 创建配置文件

    cat > /opt/kubernetes/cfg/kube-scheduler.conf << EOF
    KUBE_SCHEDULER_OPTS="--logtostderr=false \
    --v=2 \
    --log-dir=/opt/kubernetes/logs \
    --leader-elect \
    --master=127.0.0.1:8080 \
    --bind-address=127.0.0.1"
    EOF
    
  • –master:通过本地非安全本地端口8080连接apiserver。

  • –leader-elect:当该组件启动多个时,自动选举(HA)

    2. systemd管理scheduler

    cat > /usr/lib/systemd/system/kube-scheduler.service << EOF
    [Unit]
    Description=Kubernetes Scheduler
    Documentation=https://github.com/kubernetes/kubernetes
    [Service]
    EnvironmentFile=/opt/kubernetes/cfg/kube-scheduler.conf
    ExecStart=/opt/kubernetes/bin/kube-scheduler \$KUBE_SCHEDULER_OPTS
    Restart=on-failure
    [Install]
    WantedBy=multi-user.target
    EOF
    

    3. 启动并设置开机启动

    systemctl daemon-reload
    systemctl start kube-scheduler
    systemctl enable kube-scheduler
    

    4. 查看集群状态

    所有组件都已经启动成功,通过kubectl工具查看当前集群组件状态:
    kubectl get cs
    NAME                 STATUS    MESSAGE             ERROR
    scheduler            Healthy   ok                  
    controller-manager   Healthy   ok                  
    etcd-2               Healthy   {"health":"true"}   
    etcd-1               Healthy   {"health":"true"}   
    etcd-0               Healthy   {"health":"true"}
    
    如上输出说明Master节点组件运行正常。