1. 程式人生 > >開源容器openshift學習筆記(2):新增Registry元件

開源容器openshift學習筆記(2):新增Registry元件

開篇之前如果沒有安裝openshift環境可以參考我的博文:centos7下安裝openshift

本系列部落格學習筆記參考《開源容器雲openshift》一書:下載連線:https://download.csdn.net/download/u012371097/10745382

 

新增Registry元件是部署叢集內部的Docker映象倉庫。從功能上來說,它與其他諸如DockerHub沒有本質上的區別,只是這個內部映象倉庫會儲存由Source to Image(S2I)建立的映象。S2I的工作是輔助將應用的原始碼轉換成可以部署的Docker映象。

 

一個典型的S2I流程包括如下:

  • 使用者輸入原始碼倉庫的地址。
  • 使用者選擇S2I構建的基礎映象(Builder映象)。Openshift提供了多種程式語言的Builder映象,使用者也可以定製自己的Builder映象,併發布到服務目錄中。
  • 系統或使用者觸發S2I構建。Openshift將例項化S2I構建執行器。
  • S2I構建執行器將從使用者指定的程式碼倉庫下載原始碼。
  • S2I構建執行器例項化Builder映象,並將程式碼注入Builder映象中。
  • Builder映象將根據預定義的邏輯執行原始碼的編譯、構建並完成部署。
  • S2I構建執行器將完成操作的Builder映象並生成新的Docker映象。
  • S2I構建執行器將新的映象推送到Openshift內部的映象倉庫中。
  • S2I構建執行器更新該次構建相關的Image Stream資訊。
  • S2I還可以接受Dockerfile以及二進位制檔案作為構建的輸入。使用者甚至可以完全自定義構建邏輯。

具體操作:

  以管理員登入,並切換到default工程。

 oc login -u system:admin

 oc project default

 

部署Docker Registry。

oc adm registry config=/home/openshift/openshift-origin/openshift.local.config/master/admin.kubeconfig --service-account=registry

 

執行

oc get pod -n default

檢視registry的建立狀態

這裡部署的Registry沒有啟用Https,所以需要修改主機上Docker的配置,讓Docker能以非Https的方式連線到Registry。

vim /etc/sysconfig/docker

新增以下內容:

--registry-mirror=https://docker.mirrors.ustc.edu.cn --insecure-registry=172.30.0.0/16

重啟Docker服務

systemctl restart docker