kubernetes学习1--centOS7.2使用yum安装kubernetes.
准备3台服务器,
172.16.126.227-master
172.16.126.228-node1
172.16.126.251-node2
截止2015年9月1日,CentOS 已经把 Kubernetes 加入官方源,所以现在安装Kubernetes已经方便很多。
master包含kube-apiserver kube-scheduler kube-controller-manager etcd4个组件
node包含kube-proxy kubelet flannel 3个组件
1. kube-apiserver:位于master节点,接受用户请求。
2. kube-scheduler:位于master节点,负责资源调度,即pod建在哪个node节点。
3. kube-controller-manager:位于master节点,包含ReplicationManager,Endpointscontroller,Namespacecontroller,and Nodecontroller等。
4. etcd:分布式键值存储系统,共享整个集群的资源对象信息。
5. kubelet:位于node节点,负责维护在特定主机上运行的pod。
6. kube-proxy:位于node节点,它起的作用是一个服务代理的角色
1.准备工作 在3台服务器上都执行下面的操作。
1关闭防火墙 每台机器禁用iptables 避免和Docker 的iptables冲突:
1. #systemctl stop firewalld
2. #systemctl disable firewalld
2安装NTP
为了让各个服务器的时间保持一致,还需要为所有的服务器安装NTP:
1. # yum -y install ntp
2. # systemctl start ntpd
3. # systemctl enable ntpd
3禁用selinux
1. #vi /etc/selinux/config
#SELINUX=enforcing
SELINUX=disabled
2.部署master 1.安装etcd和kubernetes(这会自动安装docker)
1. [root@localhost etc]# yum -y install etcd kubernetes-master
2.修改etcd.conf
[root@localhost etc]# vim /etc/etcd/etcd.conf
3.修改kube-master配置文件
[root@localhost kubernetes]# vim /etc/kubernetes/apiserver
[root@localhost /]# vim /etc/kubernetes/controller-manager
[root@localhost /]# vim /etc/kubernetes/config
其中的8080,如果被占用了,或者不想用这个端口,可以修改
4.启动服务 让 etcd kube-apiserver kube-scheduler kube-controller-manager 随开机启动
1. [root@localhost /]# systemctl enable etcd kube-apiserver kube-scheduler kube-controller-manager
启动
1. [root@localhost /]# systemctl restart etcd kube-apiserver kube-scheduler kube-controller-manager
5.配置etcd中的网络
定义etcd中的网络配置,nodeN中的flannel service会拉取此配置
1. [root@localhost /]# etcdctl mk /coreos.com/network/config '{"Network":"172.17.0.0/16"}'
3.部署minions(node节点) 1安装kubernetes-node和 flannel(会自动安装docker)
1. [root@localhost ~]# yum -y install kubernetes-node flannel
2修改kube-node
[root@localhost ~]# vim /etc/kubernetes/config
[root@localhost ~]# vim /etc/kubernetes/kubelet
3修改flannel
为etcd服务配置flannel,修改配置文件 vim /etc/sysconfig/flanneld
[root@localhost ~]# vim /etc/sysconfig/flanneld
FLANNEL_OPTIONS=" -iface=eth0" 其中的eth0是网卡名称(用ifconfig可查询出来,centos7如果你没有改网卡名,那可以是enoXXXXX)
4.启动服务[root@localhost ~]# systemctl restart flanneld docker
[root@localhost ~]# systemctl restart kubelet kube-proxy
[root@localhost ~]# systemctl enable flanneld kubelet kube-proxy
ifconfig下,看到每个minions(node)会有docker0和flannel0这2个网卡。这2个网卡在不同的minons都是不同的.
4.验证 在master上执行
[root@localhost /]# kubectl get nodes
这样etcd+flannel + kubernetes在centOS7上就搭建起来了.