1. 程式人生 > >快速部署Kubernetes集群管理

快速部署Kubernetes集群管理

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集群管理