创建 kube-cheduler.service 文件
[root@mimo222 ~]# vi /etc/systemd/system/kube-scheduler.service [Unit] Description=Kubernetes Scheduler Documentation=https://github.com/GoogleCloudPlatform/kubernetes [Service] ExecStart=/usr/local/bin/kube-scheduler \ --address=0.0.0.0 \ --master=http://127.0.0.1:8080 \ --leader-elect=true \ --v=2 Restart=on-failure RestartSec=5 [Install] WantedBy=multi-user.target 启动 kube-scheduler [root@mimo222 ~]# systemctl daemon-reload [root@mimo222 ~]# systemctl enable kube-scheduler [root@mimo222 ~]# systemctl start kube-scheduler [root@mimo222 ~]# systemctl status kube-scheduler 验证 Master 节点 [root@mimo222 ssl]# kubectl get componentstatuses NAME STATUS MESSAGE ERROR scheduler Healthy ok controller-manager Healthy ok etcd-0 Healthy {"health": "true"} # 由于还没有加入node节点,所有查询node时为空。 [root@mimo222 ssl]# kubectl get nodes NAME STATUS ROLES AGE VERSION flannel安装配置kubernetes要求集群内各节点能通过Pod网段互联互通,本节介绍使用Flannel在所有节点 (Master、Node) 上创建互联互通的 Pod 网段的步骤。
创建flannel证书 [root@mimo222 ~]# cd /opt/ssl/ [root@mimo222 ~]# vi flanneld-csr.json # 添加如下内容: { "CN": "flanneld", "hosts": [], "key": { "algo": "rsa", "size": 2048 }, "names": [ { "C": "CN", "ST": "ShenZhen", "L": "ShenZhen", "O": "k8s", "OU": "System" } ] }注意:hosts 字段为空。
生成 flanneld 证书和私钥 [root@mimo222 ~]# cd /opt/ssl [root@mimo222 ~]# /opt/local/cfssl/cfssl gencert -ca=/opt/ssl/ca.pem \ -ca-key=/opt/ssl/ca-key.pem \ -config=/opt/ssl/config.json \ -profile=kubernetes flanneld-csr.json | /opt/local/cfssl/cfssljson -bare flanneld # 查看生成信息 [root@mimo222 ~]# ll flannel* -rw-r--r-- 1 root root 1001 Dec 15 13:59 flanneld.csr -rw-r--r-- 1 root root 223 Dec 15 13:56 flanneld-csr.json -rw------- 1 root root 1679 Dec 15 13:59 flanneld-key.pem -rw-r--r-- 1 root root 1395 Dec 15 13:59 flanneld.pem # 拷贝 [root@mimo222 ~]# cp flanneld*.pem /etc/kubernetes/ssl/ 向etcd写入集群Pod网段信息注意:本步骤只需在第一次部署 Flannel 网络时执行,后续在其它节点上部署 Flannel 时无需再写入该信息!
etcdctl --endpoints=https://10.0.11.222:2379 \ --ca-file=/opt/ssl/ca.pem \ --cert-file=/etc/kubernetes/ssl/flanneld.pem \ --key-file=/etc/kubernetes/ssl/flanneld-key.pem \ set /kubernetes/network/config '{"Network":"10.233.0.0/16"}'