天天看點

Docker的那些事(Kubernetes+docker)

采用VMware的虛拟機虛拟化三台Centos7的系統,作為我們安裝Docker的環境系統;

docker_4,docker_6,docker_8
1.下載下傳相應的centos的版本:http://101.96.10.26/mirror.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1611.iso 2.安裝相應的虛拟機,但是這個過程執行完之後,發現我們的虛拟機上不了網,錯誤提示如下;經過分析之後得出結論是,在安裝虛拟機的時候沒有配置網卡選項;           

提示出現的問題

重新安裝的過程中選擇相 應的網卡即可:安裝的過程選擇相應的網卡即可

選擇相應的網卡

1.根據官方提供的文檔對在centos上安裝Docker,

2.首先更新目前的軟體包:

yum update            

輸入這個指令更新你的yum源

跟新yum成功

3.添加相應的yum源到虛機中,之後就可以進行相應的yum源安裝了;

[dockerrepo] name=Docker Repository
baseurl=https://yum.docherproject.org/repo/main/centos/7/
enabled=1 gpgcheck=1 gpgkey=https://yum.dockerproject/org/gpg           

添加的yum源資訊

4.安裝Docker軟體包:docker-engine

yum install -y docker-engine            

安裝成功

啟動docker守護程序:

systemctl start docker           

docker守護程序

5.配置docker

打開docker遠端管理端口2375,配置docker hub的國内倉庫:

1.建立docker的配置檔案

vi /etc/sysconfig/docker
在其内增加相應的配置項:
DOCKER_OPTS="-H unix:///var/run/docker.sock -H 0.0.0.0:2375 --registry-mirror=倉庫位址"
倉庫位址:可以申請daocloud的相應的docker國内位址即可;
           

2.啟動docker守護程序的時候加載配置檔案

vi /lib/systemd/system/docker.servic
 修改相應的配置:
 ExecStart=/usr/lib/dockerd $DOCKER_OPTS
 EnvironmentFile=-/etc/sysconfig/docker
           

3.重新開機docker守護程序

systemctl stop docker
systemctl start docker
systemctl status docker.service           

docker啟動狀态

6.安裝需求:由多個docker節點構成docker的叢集,采用kubernetes的容器編排技術進行管理構成的docker叢集,kubernetes是google開源的容器管理系統,實作基于Docker建構容器,利用kubernetes可以很友善的管理含有多台Docker主機中的容器,将多個docker主機抽象為一個資源,以叢集方式管理容器;

節點資訊:
Master:docker_4->192.168.94.129 Minion:docker_6->192.168.94.130 docker_8->192.168.94.131
在Master節點上安裝:kube-apiserver kube-scheduler kube-controller-manager;etcd節點;
在Minion節點上安裝:docker、kube-proxy、kubelet-node;
           
kubernetes的角色構成:
1.Pod:最小操作單元,一個pod由一個或多個容器構成,同一個pod隻能運作在同一個主機上;
2.Kubernetes是獨立于docker存在的,安裝docker之前要安裝k8s軟體;
3.Kubernetes存在兩部分的内容,其中master節點是承擔管理叢集中所有容器的工作;minion是容器的栖身之所;
           

6.1 首先我們要構造一個由三個節點構成的簡單的docker叢集,實作docker跨主機網絡通信;Kubernetes使用的是Flannel解決的跨主機的通信問題; 在3台機器上裝上docker服務,三台機器的系統為centos系統,首先應該關閉系統上的防火牆,centos系統預設是開啟firewalld服務的。 在master節點是不安裝docker的,這裡隻是管理節點;minion是工作節點,負責安裝的docker,Flannel等服務,這裡要清楚的知道這個差別;(叢集的結構為:1master+2minion的結構部署)

6.2在三台虛拟機上關閉相應的防火牆的工作:

systemctl stop firewalld.service
systemctl disable firewalld.service
           

6.3 Kubernetes的網絡互聯是通過flannel進行的: 安裝master:

yum install -y kubernetes etcd ntp.x86_64 flannel           

安裝成功示意圖

配置參數: 1./etc/etcd/etcd.conf:

需要修改的部分

2./etc/kubernetes/config:

3./etc/kubernetes/apiserver:

4.執行相應的開啟服務操作驗證安裝的正确性:

1.systemctl start ntpd
 systemctl enable ntpd
 systemctl status ntpd
------------------------------------------ 2.systemctl start etcd
 systemctl enable etcd
 systemctl status etcd
------------------------------------------ 3.systemctl start kube-apiserver
 systemctl enable kube-apiserver
 systemctl status kube-apiserver
------------------------------------------ 4.systemctl start kube-scheduler
 systemctl enable kube-scheduler
 systemctl status kube-scheduler
------------------------------------------ 5.systemctl start kube-controlled-manager
 systemctl enable kube-controlled-manager
 systemctl status kube-controlled-manager
           

如果每一個服務都啟動成功的話,那麼顯示的資訊為Active:Active(running)的狀态;

啟動成功

5.在master節點修改etcd的配置:設定minion子網的範圍

本文轉自掘金-

Docker的那些事(Kubernetes+docker)