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上就搭建起來了.