单机版的Kubernetes集群环境安装

1)关闭CentOS自带的防火墙服务:

systemctl disable firewalld

systemctl stop firewalld

#Kubernetes必须关闭Linux自带防火墙,否则API Server会运行不正常,或者配置路由规则;

#Kubernetes的master与工作Node之间会有大量的网络通信,在内网系统中建议关闭防火墙服务;

2)安装etcd和Kubernetes软件(会自动安装Docker软件)

yum install -y etcd kubernetes

3)安装好软件后,修改2个配置文件(其他配置文件使用系统默认的参数即可)

docker配置文件为 /etc/sysconfig/docker,其中OPTIONS的内容设置为

OPTION='--selinux-enable=false --insecure-registry  gcr.io'

#关闭selinux,安全增强型 Linux(Security-Enhanced Linux)简称 SELinux,它是一个 Linux 内核模块,也是 Linux 的一个安全子系统。

#如果服务器可以访问外网,则可在docker daemon的启动参数中加上--insecure-registry gcr.io 

Kubernetes apiserver 配置文件为/etc/kubernetes/apiserver,把--admission_control参数中的ServiceAccount删除。

#kubernetes安全机制--Admission Control 准入控制

#在kubernetes中,一些高级特性正常运行的前提条件为,将一些准入模块处于enable状态。总结下,对于kubernetes apiserver,如果不适当的配置准入控制模块,他就不能称作是一个完整的server,某些功能也不会正常的生效。

#ServiceAccount

#一个serviceAccount为运行在pod内的进程添加了相应的认证信息。当准入模块中开启了此插件(默认开启),如果pod没有serviceAccount属性,将这个pod的serviceAccount属性设为“default”;确保pod使用的serviceAccount始终存在;如果LimitSecretReferences 设置为true,当这个pod引用了Secret对象却没引用ServiceAccount对象,弃置这个pod;如果这个pod没有包含任何ImagePullSecrets,则serviceAccount的ImagePullSecrets被添加给这个pod;如果MountServiceAccountToken为true,则将pod中的container添加一个VolumeMount 。

4)按顺序启动所有的服务:

systemctl start etcd

systemctl start docker

systemctl start kube-apiserver

systemctl start kube-controller-manager

systemctl start kube-scheduler

systemctl start kubelet

systemctl start kube-proxy

至此,一个单机版的Kubernetes集群环境就安装启动完成了。

猜你喜欢

转载自blog.csdn.net/asnation/article/details/81388571