K8S—单节点部署—master组件(3)
一.master组件
我们需要再master部署三大核心组件
1.kube-apiserver:是集群的统一入口,各个组件的协调者,所有对象资源的增删改查和监听操作都交给APIserver处理,再提交给etcd存储。
2.kue-controller-manager:处理群集中常规的后台任务,一个资源对应一个控制器,而controller-manager就是负责管理这些控制器。
3.kube-scheduler:根据调度算法为新创建的pod选择一个node节点,可以任意部署,可以部署同一个节点上,也可以部署在不同节点上。
二.部署master组件
1.在master上生成api-server的证书
//准备软件包
[root@localhost k8s]# rz
[root@localhost k8s]# ls
cfssl.sh etcd.sh etcd-v3.3.10-linux-amd64.tar.gz kubernetes-server-linux-amd64.tar.gz
etcd-cert etcd-v3.3.10-linux-amd64 flannel-v0.10.0-linux-amd64.tar.gz master.zip
[root@localhost k8s]# unzip master.zip //解压,包含3个重要组建的脚本
Archive: master.zip
inflating: apiserver.sh
inflating: controller-manager.sh
inflating: scheduler.sh
//创建存储kuernetes二进制集群的工作目录
[root@localhost k8s]# mkdir /opt/kubernetes/{cfg,bin,ssl} -p
//创建kubernetes集群证书的目录
[root@localhost k8s]# mkdir k8s-cert
[root@localhost k8s]# cd k8s-cert/
//创建kubernetes集群证书的脚本
[root@localhost k8s-cert]# vim k8s-cert.sh
cat > ca-config.json <<EOF
{
"signing": {
"default": {
"expiry": "87600h"
},
"profiles": {
"kubernetes": {
"expiry": "87600h",
"usages": [
"signing",
"key encipherment",
"server auth",
"client auth"
]
}
}
}
}
EOF
cat > ca-csr.json <<EOF
{
"CN": "kubernetes",
"key": {
"algo": "r