k8s(Kubernetes)快速部署捷徑(3)-Docker-CE安裝及配置

【目錄】
(1)k8s快速介紹
(2)硬件虛擬機環境Ubuntu18.10-server安裝
(3)Docker-CE安裝及配置
(4)Kubernetes 安裝及部署
(5)創建企業Kubernetes多主機集群環境
(6)Kubernetes集群mysql應用實例
(7)Kubernetes集群tomcat應用集群實例
(8)Kubernetes集群beego新聞發布web系統集群實例
【資源下載】
完整教程markdown下載 提取碼: 92hy
kubernetes(k8s)2小時快速部署教程視頻 提取碼:dk4i
kubernetes-Master-Node虛擬機完整鏡像文件 提取碼: 2wf8
課程相關其他相關安裝包及鏡像 提取碼: nkfj


3.1 Docker簡介

3. 1.1 docker介紹

  • docker是什么 ?

    Docker 是一個開源的應用容器引擎,是直接運行在宿主操作系統之上的一個容器,使用沙箱機制完全虛擬出一個完整的操作,容器之間不會有任何接口,從而讓容器與宿主機之間、容器與容器之間隔離的更加徹底。每個容器會有自己的權限管理,獨立的網絡與存儲棧,及自己的資源管理能,使同一臺宿主機上可以友好的共存多個容器。

  • docker與虛擬機對比

    如果物理機是一幢住宅樓,虛擬機就是大樓中的一個個套間,而容器技術就是套間里的一個個隔斷。

    docker1.png

  • 虛擬化技術不同

    • VMware Workstation、VirtualBoX

    硬件輔助虛擬化:(Hardware-assisted Virtualization)是指通過硬件輔助支持模擬運行環境,使客戶機操作系統可以獨立運行,實現完全虛擬化的功能。

    • Docker

    操作系統層虛擬化:(OS-level virtualization)這種技術將操作系統內核虛擬化,可以允許使用者空間軟件實例被分割成幾個獨立的單元,在內核中運行,而不是只有一個單一實例運行。這個軟件實例,也被稱為是一個容器(containers)、虛擬引擎(Virtualization engine)、虛擬專用服務器(virtual private servers)。每個容器的進程是獨立的,對于使用者來說,就像是在使用自己的專用服務器。

    <font color="red">以上兩種虛擬化技術都屬于軟件虛擬化,在現有的物理平臺上實現對物理平臺訪問的截獲和模擬。在軟件虛擬化技術中,有些技術不需要硬件支持;而有些軟件虛擬化技術,則依賴硬件支持。</font>

  • 應用場景不同

    • 虛擬機更擅長于徹底隔離整個運行環境。如: 云服務提供商通常采用虛擬機技術隔離不同的用戶。
    • Docker通常用于隔離不同的應用,例如前端,后端以及數據庫。
  • 資源的使用率不同

    虛擬機啟動需要數分鐘,而Docker容器可以在數毫秒內啟動。由于沒有臃腫的從操作系統,Docker可以節省大量的磁盤空間以及其他系統資源。

  • docker的版本

    • Docker-CE -> 社區版
      • Stable 版
        • 穩定版, 一個季度更新一次
      • Edge 版
        • 一個月更新一般
    • Docker-EE
      • 企業版
      • 收費的
docker1.png

3.2 配置國內源

3.2.1 基礎準備

  1. Docker 要求 Ubuntu 系統的內核版本高于 3.10 ,查看本頁面的前提條件來驗證你的 Ubuntu 版本是否支持 Docker。

    uname -r 
    4.18.0-21-generic(主版本必須保持一致)
    
  1. 安裝curl

    apt-get update && apt-get install -y curl telnet wget man \
    apt-transport-https \
    ca-certificates \
    software-properties-common vim 
    
    
  1. 查看新版本號

    • Ubuntu 18.10
    $ lsb_release -c
    Codename:    cosmic
    
  1. 查看確認國內源

     $ cp /etc/apt/sources.list /etc/apt/sources.list.bak
     $ cat /etc/apt/sources.list
    

3.2.2 在線安裝Docker-ce(本教程不推薦)

(建議下面的手動安裝方式,因為在線可能會出現版本不一致)

注意: 該國內源目前提供 18.09版本,與k8s不符。k8s推薦安裝Docker ce 18.06

  1. 安裝GPG秘鑰和添加國內鏡像

    $ curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
    

    添加國內源頭

    $ add-apt-repository \
        "deb https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu \
        $(lsb_release -cs) \
        stable"
    
docker2.jpg
  1. 更新國內源路徑
apt update

3.安裝查看版本指令

apt-get install -y apt-show-versions

4.查看docker-ce版本號

apt-show-versions -a docker-ce
  1. 在線安裝Docker-ce
    sudo apt-get update && apt-get install -y docker-ce
注意到當前安裝的版本是 `docker-ce_5%3a18.09.6~3-0~ubuntu-cosmic_amd64.deb`

3.2.3 手動安裝Docker(離線安裝)

  1. 下載docker-ce_18.06.1\~ce\~3-0\~ubuntu_amd64.deb
    或者
    課程相關其他相關安裝包及鏡像 提取碼: nkfj
    也提供。

  2. 上傳到上述文件到待安裝服務器master

  3. 登錄待安裝服務器,切換到root賬戶

  4. dpkg -i docker-ce_18.06.1\~ce\~3-0\~ubuntu_amd64.deb

如果提示錯誤

dpkg: error: dpkg frontend is locked by another process

說明已經有其他進程在使用dpkg安裝程序

sudo rm /var/lib/dpkg/lock

即可。

如果提示錯誤

itcast@master:~/package$ sudo dpkg -i docker-ce_18.06.1~ce~3-0~ubuntu_amd64.deb
 
[sudo] password for itcast: 
Selecting previously unselected package docker-ce.
(Reading database ... 100647 files and directories currently installed.)
Preparing to unpack docker-ce_18.06.1~ce~3-0~ubuntu_amd64.deb ...
Unpacking docker-ce (18.06.1~ce~3-0~ubuntu) ...
dpkg: dependency problems prevent configuration of docker-ce:
 docker-ce depends on libltdl7 (>= 2.4.6); however:
  Package libltdl7 is not installed.

dpkg: error processing package docker-ce (--install):
 dependency problems - leaving unconfigured
Processing triggers for man-db (2.8.4-2) ...
Processing triggers for systemd (239-7ubuntu10) ...
Errors were encountered while processing:
 docker-ce

表示當前docker-ce 依賴系統libltd17庫,安裝就可以了

$ apt-get install -y libltdl7
  1. docker version
Client:
 Version:           18.06.1-ce
 API version:       1.38
 Go version:        go1.10.3
 Git commit:        e68fc7a
 Built:             Tue Aug 21 17:24:56 2018
 OS/Arch:           linux/amd64
 Experimental:      false

Server:
 Engine:
  Version:          18.06.1-ce
  API version:      1.38 (minimum version 1.12)
  Go version:       go1.10.3
  Git commit:       e68fc7a
  Built:            Tue Aug 21 17:23:21 2018
  OS/Arch:          linux/amd64
  Experimental:     false

確保版本號是 18.06

`

3.3 啟動Docker-ce

  1. 開機并啟動docker
sudo systemctl enable docker 
sudo systemctl start docker 
  1. 重啟,登錄確認docker已經運行
itcast@ubuntu:~$ sudo docker ps 
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
  1. 下載Alpine鏡像熱身一下 Docker
~$ sudo docker run -it --rm alpine:latest sh 

輸出內容如下,我們在Docker容器中測試三個命令,分別是

- `date`
- `time`
- `uname -r`
itcast@ubuntu:~$ sudo docker run -it --rm alpine:latest sh 
Unable to find image 'alpine:latest' locally
latest: Pulling from library/alpine
e7c96db7181b: Pull complete 
Digest: sha256:769fddc7cc2f0a1c35abb2f91432e8beecf83916c421420e6a6da9f8975464b6
Status: Downloaded newer image for alpine:latest
/ # date
Mon Jun 10 07:56:01 UTC 2019
/ # time
BusyBox v1.29.3 (2019-01-24 07:45:07 UTC) multi-call binary.

Usage: time [-vpa] [-o FILE] PROG ARGS

Run PROG, display resource usage when it exits

    -v  Verbose
    -p  POSIX output format
    -f FMT  Custom format
    -o FILE Write result to FILE
    -a  Append (else overwrite)
/ # uname -r 
4.18.0-10-generic

docker3.jpg

3.4 創建Docker用戶組并添加當前用戶

使用您的用戶登錄Linux然后執行如下操作,用戶組docker可能已經存在。

如果使用普通用戶目前是無法使用docker指令的

itcast@master:~$ docker ps
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.38/containers/json: dial unix /var/run/docker.sock: connect: permission denied

我們需要將當前的普通用戶添加到當前的docker用戶組中

sudo groupadd docker
sudo usermod -aG docker $USER
exit

重新登錄使用普通用戶登錄:

itcast@master:~$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

就可以使用了。

3.5 申請阿里云鏡像加速器

如果不申請阿里云私人專屬鏡像加速器,鼓勵復制如下本人申請的私人專屬鏡像加速器,直接使用即可。

https://ozcouv1b.mirror.aliyuncs.com

申請步驟如下

在阿里云注冊自己賬戶

找到容器鏡像服務,參考網址如下

https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors

點開左側菜單鏡像中心—>鏡像加速器

右側加速器地址,即使私人專屬的鏡像加速器地址,點擊復制

粘貼到一個文本文件留存

docker4.jpg

3.6 docker配置國內鏡像加速器

目的 : 為了下載docker鏡像更快

您可以通過修改daemon配置文件/etc/docker/daemon.json來使用加速器。

創建/etc/docker/daemon.json文件,內容如下:

{
  "registry-mirrors": ["https://ozcouv1b.mirror.aliyuncs.com"]
}

重啟docker服務

# 重載所有修改過的配置文件
sudo systemctl daemon-reload
# 重啟Docker服務
sudo systemctl restart docker

關于作者:

作者:Aceld(劉丹冰)

簡書號:IT無崖子

mail: danbing.at@gmail.com

github: https://github.com/aceld

原創書籍gitbook: http://legacy.gitbook.com/@aceld

原創聲明:未經作者允許請勿轉載, 如果轉載請注明出處

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,156評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,401評論 3 415
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,069評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,873評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,635評論 6 408
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,128評論 1 323
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,203評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,365評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,881評論 1 334
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,733評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,935評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,475評論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,172評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,582評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,821評論 1 282
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,595評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,908評論 2 372

推薦閱讀更多精彩內容