k8s 在Centos上 安装

k8s安装步骤:

1、所有机器上执行以下命令,准备安装环境:(注意是所有机器,主机master,从机node都要安装)

 1.1、安装epel-release源(EPEL (Extra Packages for Enterprise Linux)是基于Fedora的一个项目,为“红帽系”的操作系统提供额外的软件包,适用于RHEL、CentOS和Scientific Linux.)

yum -y install epel-release

 1.2、所有机器关闭防火墙

systemctl stop firewalld
systemctl disable firewalld
setenforce 0
#查看防火墙状态

firewall-cmd --state

2、现在开始master主机上192.168.126.130 安装kubernetes Master

  2.1、使用yum安装etcd、kubernetes-master

yum -y install etcd kubernetes-master

  2.2、编辑:vi /etc/etcd/etcd.conf文件,修改结果如下:

#etcd名称
ETCD_NAME=default
#etcd数据存储位置
ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
#监听的端口
ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379"
#[cluster]
#集群监听的端口
ETCD_ADVERTISE_CLIENT_URLS="http://0.0.0.0:2379"

 2.3、配置:vi /etc/kubernetes/apiserver文件,配置结果如下:

#监听的接口,如果配置为127.0.0.1则只监听localhost,配置为0.0.0.0会监听所有接口,这里配置为0.0.0.0
KUBE_API_ADDRESS="--address=0.0.0.0"

#apiserver的监听端口,默认8080
KUBE_API_PORT="--port=8080"

#minion上kubelet监听的端口,默认10250
KUBELET_PORT="--kubelet-port=10250"

#etcd服务地址,前面已经启动了etcd服务,端口为2379
KUBE_ETCD_SERVERS="--etcd-servers=http://127.0.0.1:2379"

#kubernetes可以分配的ip的范围,kubernetes启动的每一个pod以及serveice都会分配一个ip地址,将从这个范围分配
KUBE_SERVICE_ADDRESSES="--service-cluster-ip-range=10.254.0.0/16"

#需要额外添加的配置项,简单地启用一个集群无需配置
KUBE_API_ARGS=""

2.4、启动etcd、kube-apiserver、kube-controller-manager、kube-scheduler等服务,并设置开机启动。

for SERVICES in etcd kube-apiserver kube-controller-manager kube-scheduler; do systemctl restart $SERVICES;systemctl enable $SERVICES;systemctl status $SERVICES ; done    

 2.5、在etcd中定义flannel网络

etcdctl mk /atomic.io/network/config '{"Network":"172.17.0.0/16"}'

以上master主机上的配置安装什么的都弄完了

3、接下来弄node从机上的配置安装什么的

3.1、在node机上192.168.126.128 安装kubernetes Node和flannel组件应用

yum -y install flannel kubernetes-node

3.2、为flannel网络指定etcd服务,修改/etc/sysconfig/flanneld文件,配置结果如下图:

#etcd的访问地址及端口
FLANNEL_ETCD_ENDPOINTS="http://192.168.126.130:2379"
#服务范围
FLANNEL_ETCD_PREFIX="/kube-centos/network"
#其他
FLANNEL_OPTIONS=""

 3.3、修改:vi /etc/kubernetes/config文件,配置结果如下图:

#表示错误日志记录到文件还是输出到stderr
KUBE_LOGTOSTDERR="--logtostderr=true"

#日志等级
KUBE_LOG_LEVEL="--v=0"

#允许运行特权容器
KUBE_ALLOW_PRIV="--allow-privileged=false"

#apiserver的服务地址,controller-manager、scheduler及kubelet都会用到这个配置,这里配置为192.168.126.130
KUBE_MASTER="--master=http://192.168.126.130:8080"

 3.4、修改node机的kubelet配置文件/etc/kubernetes/kubelet

#minion监听的地址,每个minion根据实际的ip配置,这里配置为0.0.0.0
KUBELET_ADDRESS="--address=0.0.0.0"
#监听的端口
KUBELET_PORT="--port=10250"
#apiserver的访问地址及端口
KUBELET_API_SERVER="--api-servers=http://192.168.126.130:8080"
#额外增加的参数
KUBELET_ARGS="--logtostderr=false --v=0 --log-dir=/data/logs/kubernetes"

3.5、node节点机上启动kube-proxy,kubelet,docker,flanneld等服务,并设置开机启动。

for SERVICES in kube-proxy kubelet docker flanneld;do systemctl restart $SERVICES;systemctl enable $SERVICES;systemctl status $SERVICES; done

以上所有master主机,node节点机上的配置就完成了,接下来看看k8s集群是否搭建起来了

在master主机上192.168.126.130 执行如下命令,查看运行的node节点机器:

kubectl get nodes

 成功啦,结果图如下:

原文地址:https://www.cnblogs.com/leolzi/p/12336392.html