标签:dir unit 访问 复杂 backup namespace agg pat master
kubernetes服务端主要有以下几个组件:
1、kube-apiserver,用于暴露Kubernetes API。任何的资源请求/调用操作都是通过kube-apiserver提供的接口进行。
2、kube-controller-manager,运行管理控制器,它们是集群中处理常规任务的后台线程。逻辑上,每个控制器是一个单独的进程,但为了降低复杂性,它们都被编译成单个二进制文件,并在单个进程中运行。
这些控制器包括:
节点(Node)控制器。
副本(Replication)控制器:负责维护系统中每个副本中的pod。
端点(Endpoints)控制器:填充Endpoints对象(即连接Services&Pods)。
Service Account和Token控制器:为新的Namespace 创建默认帐户访问API Token
3、kube-scheduler:监视新创建没有分配到Node的Pod,为Pod选择一个Node。
下面开始安装:
github项目地址:https://github.com/kubernetes/kubernetes,选择合适的版本下载二进制文件。可以只下载server版本,kubernetes组件里面全都有。
解压后,将kubectl、kube-apiserver、kube-controller-manager、kube-scheduler这四个文件放到/usr/local/bin/。
#chmod a+x /usr/local/bin/*,设置文件的可执行权限。
添加kube-apiserver的服务文件:
cat > /lib/systemd/system/kube-apiserver.service <<EOF [Unit] Description=Kubernetes API Server Documentation=https://github.com/GoogleCloudPlatform/kubernetes After=network.target [Service] ExecStart=/usr/local/bin/kube-apiserver --admission-control=NamespaceLifecycle,LimitRanger,DefaultStorageClass,ResourceQuota,NodeRestriction --insecure-bind-address=0.0.0.0 --kubelet-https=false --service-cluster-ip-range=10.68.0.0/16 --service-node-port-range=20000-40000 --etcd-servers=http://192.168.111.10:2379,http://192.168.111.11:2379,http://192.168.111.12:2379 \ --enable-swagger-ui=true --allow-privileged=true --audit-log-maxage=30 --audit-log-maxbackup=3 --audit-log-maxsize=100 --audit-log-path=/var/lib/Kubernetes/log --event-ttl=1h --v=2 Restart=on-failure RestartSec=5 Type=notify LimitNOFILE=65536 [Install] WantedBy=multi-user.target EOF
# mkdir -p /var/lib/Kubernetes/log #创建日志文件目录
启动kube-apiserver:
# for SERVICES in kube-apiserver;do
systemctl enable $SERVICES
systemctl start $SERVICES
systemctl status $SERVICES
done
如果没有报错,显示绿色,就启动了。可以尝试一下面的命令:
# kubectl get nodes
No resources found.
添加kube-controller-manager服务文件:
cat > /lib/systemd/system/kube-controller-manager.service <<EOF [Unit] Description=Kubernetes Controller Manager Documentation=https://github.com/GoogleCloudPlatform/kubernetes [Service] ExecStart=/usr/local/bin/kube-controller-manager --master=http://127.0.0.1:8080 \ --logtostderr=true --leader-elect=true --v=2 Restart=on-failure RestartSec=5 [Install] WantedBy=multi-user.target EOF
启动kube-controller-manager:
# for SERVICES in kube-controller-manager;do
systemctl enable $SERVICES
systemctl start $SERVICES
systemctl status $SERVICES
done
没有报错就算启动成功了。
添加kube-schedule服务文件:
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-schedule:
# for SERVICES in kube-scheduler;do
systemctl enable $SERVICES
systemctl start $SERVICES
systemctl status $SERVICES
done
没有报错就算启动成功了。
标签:dir unit 访问 复杂 backup namespace agg pat master
原文地址:https://www.cnblogs.com/xuyingzhong/p/9648906.html