天天看點

yum方式安裝kubernetes

環境準備 master01 node01 node02,連通網絡,修改hosts檔案,确認3台主機互相解析

vim /etc/hosts

127.0.0.1  localhost localhost.localdomain localhost4 localhost4.localdomain4

::1        localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.1.201 master01

192.168.1.202 node01

192.168.1.203 node02

主機配置阿裡YUM源

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup && curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

開始部署kubernetes

1.在master01安裝etcd

yum install etcd -y

安裝完成,修改etcd配置檔案/etc/etcd/etcd.conf

vim /etc/etcd/etcd.conf

ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379"    #修改監聽位址

ETCD_LISTEN_CLIENT_URLS="http://192.168.1.201:2379"    #修改etcd位址為本機位址

設定服務啟動

systemctl start etcd && systemctl enable etcd

2.在所有主機安裝kubernetes

yum install kubernetes -y

3.配置master

vim /etc/kubernetes/config

KUBE_MASTER="--master=http://192.168.1.201:8080"    #修改kube_master位址

vim /etc/kubernetes/apiserver

KUBE_API_ADDRESS="--insecure-bind-address=0.0.0.0"    #修改監聽位址

KUBE_ETCD_SERVERS="--etcd-servers=http://192.168.1.201:2379"    #修改etcd位址

KUBE_ADMISSION_CONTROL="--admission-control=NamespaceLifecycle,NamespaceExists,LimitRanger,SecurityContextDeny,ResourceQuota"    #删除認證參數ServiceAccount

設定服務啟動,啟動順序apiserver>scheduler=controller-manager

systemctl start docker && systemctl enable docker

systemctl start kube-apiserver && systemctl enable kube-apiserver

systemctl start kube-scheduler && systemctl enable kube-scheduler

systemctl start kube-controller-manager && systemctl enable kube-controller-manager

4.配置node

vim /etc/kubernetes/config

KUBE_MASTER="--master=http://192.168.1.201:8080"    #修改master位址

vim /etc/kubernetes/kubelet

KUBELET_ADDRESS="--address=192.168.1.202"    #修改kubelet位址

KUBELET_HOSTNAME="--hostname-override=192.168.1.202"    #修改kubelet主機名

KUBELET_API_SERVER="--api-servers=http://192.168.1.201:8080"    #修改apiserver位址

設定服務啟動

systemctl start docker && systemctl enable docker

systemctl start kubelet && systemctl enable kubelet

systemctl start kube-proxy && systemctl enable kube-proxy

5.部署完成,檢視叢集狀态

kubectl get nodes

[root@node02 kubernetes]# kubectl -s http://192.168.1.201:8080 get nodes -o wide

NAME            STATUS    AGE      EXTERNAL-IP

192.168.1.202  Ready    29s      <none>

192.168.1.203  Ready    16m      <none>

 6.在所有主機安裝flannel

yum install flannel -y

vim /etc/sysconfig/flanneld

FLANNEL_ETCD_ENDPOINTS="http://192.168.1.201:2379"    #修改etcd位址

etcdctl mk /atomic.io/network/config '{ "Network": "172.16.0.0/16" }'    #在etcd主機設定容器網絡

master主機重新開機服務

systemctl start flanneld && systemctl enable flanneld

systemctl restart docker

systemctl restart kube-apiserver

systemctl restart kube-scheduler

systemctl restart kube-controller-manager

node主機重新開機服務

systemctl start flanneld && systemctl enable flanneld

systemctl restart docker

systemctl restart kubelet

systemctl restart kube-proxy