Openstack+Kubernetes+Docker微服務
漸入佳境,我們開始比較具體的工作,由於Docker是一個基礎組件,所以本文的主題是Docker和Registry2。
底層系統基於Centos7,先在一台雲主機上安裝Docker,Docker的安裝非常簡單,參考官網Docker Centos部分安裝指導只需要幾步,安裝好之后開始以下配置。
關閉防火牆
service firewalld stop systemctl disable firewalld.service
Docker 1.12 禁用STL(HTTPS)登錄Regisry
配置Docker通過STL和Registry通訊比較麻煩,由於是么有雲環境,就索性禁用了,
vim /usr/lib/systemd/system/docker.service #ExecStart=/usr/bin/dockerd ExecStart=/usr/bin/dockerd --insecure-registry registry2.io
配置好以后需要重啟Docker服務生效,registry2.io 是我們給Registry指定的域名!
注意:配置好以后在Openstack界面上為此雲主機生成快照,在以后創建的雲主機將以此為系統基礎,而不是純凈的Centos7,這樣可以節約很多時間!
Registry
我們采用Vmware的Harbor做為直接使用Registry2的替代,號稱是企業級的私有鏡像倉庫,Harbor支持中文而且功能全面,可以在線多項目管理Images包括搜索、刪除等功能,最主要的是安裝也特別簡單,Harbor對於Registry2省去一些秘鑰、證書的生成等繁雜的配置而且功能更強大。
項目主頁https://github.com/vmware/harbor/ 安裝同樣非常簡單,用Docker快照創建雲主機,安裝請參考官方安裝指導和 http://www.xf80.com/2016/10/10/docker-harbor/
Harbor通過Docker Compose安裝的,使用 docker-compose stop 和 docker-compose rm 可以停止和刪除Harbor。
配置Harbor,Harbor.cfg
指定hostname和harbor_admin_password,如果是線上使用還要配置外部存儲、主從、郵箱等。
安裝后運行效果
Docker登錄Registry
在docker的雲主機上運行
docker login registry2.io
提示輸入用戶名和密碼(在上面配置的)就可正常登錄到Harbor,之后就可以Push和Pull等操作了。