使用docker可以批量管理多個容器,但都是在同一台電腦內進行的,這在實際生產環境中是不夠用的,如何突破單機的限制?讓多個電腦上的容器可以像單機上的docker-compose.yml管理的那樣方便呢?kubernetes是個不錯的選擇,今天我們就來一起實戰kubernetes集群環境的搭建吧。
前提條件
由於要用到谷歌的服務,所以要求您的網絡環境可以科學上網,具體的方案就不在這里說了;
用於實戰的本地環境
本次實戰環境是win10,使用VMware® Workstation 12 Player,版本號12.5.6 build-5528349;
整體流程介紹
整個kubernetes集群包括一個master和兩個node,所以本次搭建的整體流程計划如下:
1. 用VMware創建CentOS7的系統;
2. 在這個CentOS7上安裝Docker,kubelet,kubeadm,kubectl等應用,然后關閉並退出這個CentOS7;
3. 上一步中的CentOS7對應的VMware文件都在一個文件夾中,如下圖所示,我們把這個文件夾復制一份備份起來,這就是我們的標准化鏡像了,今后安裝kubernetes的master或者node的時候,都用這個Vmware文件的副本來進行;
4. 用標准化鏡像復制一份,通過VMware打開,然后安裝kubernetes的master;
5. 用標准化鏡像復制一份,通過VMware打開,然后安裝kubernetes的node,並加入到master控制的集群中;
6. 裝一個tomcat驗證;
安裝CentOS
在VMware上安裝CentOS的具體步驟就不在這里說了,請讀者們自行完成,完成過后再執行yum update -y進行更新;
關閉防火牆
執行以下命令關閉防火牆
systemctl stop firewalld;systemctl disable firewalld;setenforce 0
再修改文件/etc/selinux/config,將SELINUX的值改成disabled,修改后如下圖紅框所示:
重啟
為了使上面的改動生效,需要重啟CentOS;
配置docker的repo
在目錄/etc/yum.repos.d下新建文件docker.repo,內容如下:
[dockerrepo] name=Docker Repository baseurl=https://yum.dockerproject.org/repo/main/centos/7/ enabled=1 gpgcheck=1 gpgkey=https://yum.dockerproject.org/gpg
執行以下命令安裝docker:
yum install -y docker-engine.x86_64
安裝成功后,執行以下命令設置自動啟動服務:
systemctl enable docker
再執行以下命令啟動docker服務:
systemctl start docker
在目錄/etc/yum.repos.d下新建文件kubernetes.repo,內容如下:
[kubernetes] name=Kubernetes baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64 enabled=1 gpgcheck=0
執行以下命令安裝
yum install -y kubelet kubeadm kubectl
安裝過程如下圖所示:
修改kubernetes的網絡配置
修改文件/etc/systemd/system/kubelet.service.d/10-kubeadm.conf,找到下面這一行:
Environment="KUBELET_CGROUP_ARGS=--cgroup-driver=systemd"
把systemd改成cgroupfs;cgroupfs 是根據docker info 中 的 Cgroup Driver: cgroupfs 來設定
k8s 1.9版本需要關閉操作系統交換分區
swapoff -a
systemctl daemon-reload
然后執行以下命令重啟kubelet:
systemctl restart kubelet
現在關閉CentOS系統,在VMware的虛擬機文件目錄下找到這個CentOS的全部文件,好好保存,咱們后面安裝master和node節點都用這個VMware的鏡像了,下一章我們一起來安裝完整的kubernetes集群;