码迷,mamicode.com
首页 > Web开发 > 详细

k8s非认证授权-kubernetes服务端

时间:2018-09-14 23:05:17      阅读:555      评论:0      收藏:0      [点我收藏+]

标签: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

没有报错就算启动成功了。

k8s非认证授权-kubernetes服务端

标签:dir   unit   访问   复杂   backup   namespace   agg   pat   master   

原文地址:https://www.cnblogs.com/xuyingzhong/p/9648906.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!