1. 程式人生 > >kubernetes部署kube-scheduler服務

kubernetes部署kube-scheduler服務

scp sch names 訪問 emd sta sys form unit

同樣的分非認證授權和認證授權:

非認證授權:

cat > /lib/systemd/system/kube-scheduler.service <<EOF
[Unit]
Description=Kubernetes Scheduler
Documentation=https://github.com/GoogleCloudPlatform/kubernetes

[Service]
ExecStart=/usr/local/bin/kube-scheduler   --address=127.0.0.1   --master=http://127.0.0.1:8080 \
  --leader-elect=true
--v=2 Restart=on-failure RestartSec=5 [Install] WantedBy=multi-user.target EOF

認證授權:

----------------------------------------------

創建 kube-scheduler 證書和私鑰
創建證書簽名請求:

cat > kube-scheduler-csr.json <<EOF
{
    "CN": "system:kube-scheduler",
    "hosts": [
      "127.0.0.1",
      "192.168.111.10
", "192.168.111.11", "192.168.111.12" ], "key": { "algo": "rsa", "size": 2048 }, "names": [ { "C": "CN", "ST": "ChongQing", "L": "ChongQing", "O": "system:kube-scheduler", "OU": "yunwei" } ] } EOF cfssl gencert
-ca=/etc/kubernetes/ca/ca.pem -ca-key=/etc/kubernetes/ca/ca-key.pem -config=/etc/kubernetes/ca/ca-config.json -profile=kubernetes kube-scheduler-csr.json | cfssljson -bare kube-scheduler

創建和分發 kubeconfig 文件
kubeconfig 文件包含訪問 apiserver 的所有信息,如 apiserver 地址、CA 證書和自身使用的證書;

kubectl config set-cluster kubernetes   --certificate-authority=/etc/kubernetes/ca/ca.pem   --embed-certs=true   --server=https://192.168.111.9:6443 \
  --kubeconfig=kube-scheduler.kubeconfig

kubectl config set-credentials system:kube-scheduler   --client-certificate=/etc/kubernetes/ca/kube-scheduler.pem   --client-key=/etc/kubernetes/ca/kube-scheduler-key.pem   --embed-certs=true   --kubeconfig=kube-scheduler.kubeconfig

kubectl config set-context system:kube-scheduler   --cluster=kubernetes   --user=system:kube-scheduler   --kubeconfig=kube-scheduler.kubeconfig

kubectl config use-context system:kube-scheduler --kubeconfig=kube-scheduler.kubeconfig

# scp /etc/kubernetes/kube-scheduler.kubeconfig 192.168.111.11:/etc/kubernetes/

# scp /etc/kubernetes/kube-scheduler.kubeconfig 192.168.111.12:/etc/kubernetes/

創建服務文件:

cat > /lib/systemd/system/kube-scheduler.service <<EOF
[Unit]
Description=Kubernetes Scheduler
Documentation=https://github.com/GoogleCloudPlatform/kubernetes

[Service]
ExecStart=/usr/local/bin/kube-scheduler \  --address=127.0.0.1 \  --kubeconfig=/etc/kubernetes/kube-scheduler.kubeconfig \  --leader-elect=true \  --alsologtostderr=true \  --logtostderr=false \  --log-dir=/var/log/kubernetes \  --v=2
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target
EOF

啟動:

# systemctl daemon-reload&&for SERVICES in kube-scheduler;do systemctl enable $SERVICES; systemctl start $SERVICES; systemctl status $SERVICES; done

# kubectl get endpoints kube-scheduler --namespace=kube-system -o yaml

kubernetes部署kube-scheduler服務