快速部署Kubernetes集群管理
阿新 • • 發佈:2018-06-09
osc root disable health bin not The 關閉防火墻 OS
這篇文章介紹了如何快速部署一套Kubernetes集群,下面就快速開始吧!
準備工作
//關閉防火墻
systemctl stop firewalld.service
systemctl disable firewalld.service
//關閉selinux,修改/etc/selinux/config
SELINUX=disabled
機器部署規劃
主機 | IP | 部署組件 |
---|---|---|
master主節點 | 192.168.199.206 | etcd、kube-apiserver、kube-controller-manager、kube-scheduler |
node1子節點 | 192.168.199.159 | kubelet、kube-proxy、docker |
node2子節點 | 192.168.199.175 | kubelete、kube-proxy、docker |
k8s組件采用yum安裝的方式,快速安裝。
Master節點
//安裝etcd [root@206 ~]# yum install -y etcd //修改/etc/etcd/etcd.conf配置文件 [root@206 ~]# vim /etc/etcd/etcd.conf ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379" ETCD_ADVERTISE_CLIENT_URLS="http://192.168.199.206:2379" //配置etcd內網信息 [root@206 ~]# etcdctl set /atomic.io/network/config ‘{"Network":"172.17.0.0/16"}‘ ps:其中網絡號172.17.0.0/16與docker中的docker0網絡一致(若不一致,可修改docker0網絡或者配置上述etcd網絡); atomic.io與下面的Flannel配置中的FLANNEL_ETCD_PREFIX對應; //運行etcd服務 [root@206 ~]# systemctl start etcd [root@206 ~]# systemctl enbale etcd
//安裝kubernetes-master [root@206 ~]# yum install -y kubernetes-master //修改/etc/kubernetes/apiserver配置文件 [root@206 ~]# vim /etc/kubernetes/apiserver KUBE_API_ADDRESS="--insecure-bind-address=0.0.0.0" KUBE_ETCD_SERVERS="--etcd-servers=http://192.168.199.206:2379" //修改/etc/kubernetes/config配置文件 [root@206 ~]# vim /etc/kubernetes/config KUBE_MASTER="--master=http://192.168.199.206:8080" //運行master服務 [root@206 ~]# systemctl start kube-apiserver kube-scheduler kube-controller-manager [root@206 ~]# systemctl enable kube-apiserver kube-scheduler kube-controller-manager //測試服務,若輸出以下數據,則服務正常。 [root@206 ~]# curl -l http://192.168.199.206:8080 { "paths": [ "/api", "/api/v1", "/apis", "/apis/apps", "/apis/apps/v1beta1", "/apis/authentication.k8s.io", "/apis/authentication.k8s.io/v1beta1", "/apis/authorization.k8s.io", "/apis/authorization.k8s.io/v1beta1", "/apis/autoscaling", "/apis/autoscaling/v1", "/apis/batch", "/apis/batch/v1", "/apis/batch/v2alpha1", "/apis/certificates.k8s.io", "/apis/certificates.k8s.io/v1alpha1", "/apis/extensions", "/apis/extensions/v1beta1", "/apis/policy", "/apis/policy/v1beta1", "/apis/rbac.authorization.k8s.io", "/apis/rbac.authorization.k8s.io/v1alpha1", "/apis/storage.k8s.io", "/apis/storage.k8s.io/v1beta1", "/healthz", "/healthz/ping", "/healthz/poststarthook/bootstrap-controller", "/healthz/poststarthook/extensions/third-party-resources", "/healthz/poststarthook/rbac/bootstrap-roles", "/logs", "/metrics", "/swaggerapi/", "/ui/", "/version" ]
Node節點(159和175安裝方法一樣)
//安裝docker
[root@159 ~]# yum install -y docker
//安裝flannel
[root@159 ~]# yum install -y flannel
//修改/etc/sysconfig/flannel配置文件
[root@159 ~]# vim /etc/sysconfig/flannel
FLANNEL_ETCD_ENDPOINTS="http://192.168.199.206:2379"
//安裝kubernetes-note
[root@159 ~]# yum install -y kubernetes-node
//修改/etc/kubernetes/config配置文件
[root@159 ~]# vim /etc/kubernetes/config
KUBE_MASTER="--master=http://192.168.199.206:8080"
//修改/etc/kubernetes/kubelet配置文件
[root@159 ~]# vim /etc/kubernetes/kubelet
KUBELET_HOSTNAME="--hostname-override=192.168.199.159"
KUBELET_API_SERVER="--api-servers=http://192.168.199.206:8080"
//運行服務
systemctl enable kubelet kube-proxy
systemctl start kubelet kube-proxy
在Master機器上管理Node節點
[root@206 ~]# kubectl get nodes
NAME STATUS AGE
192.168.199.159 Ready 32m
192.168.199.175 Ready 4m
快速部署Kubernetes集群管理