前言:
kubernetes作为docker的管理工具是由Google开源提供,但是kubernetes的安装一直折磨着运维人员,在这一系列的文章中我将会由kubernetes的安装讲起为大家介绍kubernetes的安装使用等过程,也作为自己的学习笔记。
inform
所有的操作均需要root权限,请在执行时加sudo或者su到root账号下,在安装的时候请记得把防火墙关闭并设置iptables开放2379端口和8080端口。如果在实验环境下可以直接将iptables也关闭了。
1、环境介绍
本次安装有三台虚拟机全部安装的centos操作系统,系统的内核参数及版本如下图所示:
操作系统版本
三台主机的职责如下所示:
host 192.168.163.148 安装etcd server以及kubernetes server,同时安装kubernetes client node,并且还需要安装docker;
host 192.168.163.150 安装kubernetes client server 以及docker;
host 192.168.163.138 安装kubernetes client server 以及docker;
2、etcd以及kubernetes服务端的搭建
在centos中已经添加了kubernetes和etcd以及docker的镜像源
在安装之前我们先执行以下命令用于更新我们的镜像源
# yum update
接着在host 192.168.163.148上执行
# yum install etcd kubernetes-master docker-y
安装完毕后开始修改参数
首先我们修改etcd的配置参数,打开/etc/etcd/etcd.conf
# vi /etc/etcd/etcd.conf将以下几行进行修改,完成后保存退出。
ETCD_NAME=default
ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379"
ETCD_ADVERTISE_CLIENT_URLS="http://192.168.163.148:2379"
保存好后继续执行以下命令
etcdctl set /coreos.com/network/config '{ "Network": "192.168.0.0/16" }',这儿需要上设置一对key-value,其中
192.168.0.0/16也是根据你自己的情况去设置。
systemctl enable etcd
systemctl start etcd
接着我们修改kubernetes server的参数
先打开/etc/kubernetes/apiserver文件修改一下几行
KUBE_ETCD_SERVERS="--etcd_servers=http://192.168.163.148:2379"
KUBE_SERVICE_ADDRESSES="--service-cluster-ip-range=192.168.0.0/16"
第二行设置--service-cluster-ip-range的这个192.168.0.0/16参数你们根据自己的情况去设置,我是因为自己的虚拟机地址网段在这里面所以这样设置的。
设置/etc/kubernetes/controller-manager文件里的参数
KUBE_CONTROLLER_MANAGER_ARGS="--node-monitor-grace-period=10s --pod-eviction-timeout=10s"
设置 /etc/kubernetes/config 文件里的参数
KUBE_MASTER="--master=http://192.168.163.148:8080"
到这里为止我们etcd和kubernetes的服务端设置就结束了,接着我们要启动kubernetes server服务执行下面的命令:
systemctl enable kube-apiserver kube-scheduler kube-controller-manager
systemctl start kube-apiserver kube-scheduler kube-controller-manager
以上就是我们需要在kubernetes服务端需要完成的安装配置。
3、kubernetes nodes安装配置
在这里我们以host 192.168.163.150节点来讲解如何配置kubernetes nodes节点。
我们需要在所有nodes节点上安装kubernetes-nodes以及docker还有flanneld一键式安装如下:
yum install kubernetes-node flannel docker -y
安装完后我们先对docker进行配置执行以下
systemctl enable docker
systemctl start docker
接着我们需要配置flanneld,修改/etc/sysconfig/flanneld文件配置如下:
FLANNEL_ETCD="http://192.168.163.148:2379"
FLANNEL_ETCD_KEY="/coreos.com/network"
然后启动flanneld服务
systemctl enable flanenld
systemctl restart flanneld, docker
接着对kubernetes node配置文件进行修改
修改/etc/kubernetes/config跟上面的修改一致;
/etc/kubernetes/kublet文件进行以下修改:
KUBELET_HOSTNAME="--hostname_override=192.168.163.150"
KUBELET_API_SERVER="--api_servers=http://192.168.163.148:8080"
修改完后保存退出并启动服务
systemctl enable kubelet kube-proxy
systemctl start kubelet kube-proxy
启动节点都按照这样的设置就可以完成
完成好上述设置后我们在kubernetes server节点也就是我们实验中的host 192.168.163.148中执行kubectl get nodes可以看到如下节点:
节点情况
三个节点都启动并且状态都是ready
4、安装中的问题
作者:SookieYang
链接:https://www.jianshu.com/p/d5daab5b9f00