背景
Openshift是一個開源容器雲平台,是一個基於主流的容器技術Docker和Kubernetes構建的雲平台。Openshift底層以Docker作為容器引擎驅動,以Kubernetes 作為容器編排引擎組件,並提供了開發語言,中間件,DevOps自動化流程工具和web console用戶界面等元素,提供了一套完整的基於容器的應用雲平台。OpenShift 生態系統成了 Kubernetes 生態系統。其核心技術使生態系統可以非常地靈活,社區已經在 API 和接口上做了標准化,這為統一集成的新思想成為了可能。它還使我們可以在任何雲平台上部署 OpenShift,比如 AWS、 Azure、 GCP、 OpenStack、 VMware、 RHV,以及 bare meta。
Openshift部署流程
示例過程如下
$ oc new-project project1
Now using project "project1" on server https://127.0.0.1:8443.
$ oc new-app centos/ruby-22-centos7~https://github.com/openshift/ruby-ex.git
--> Found Docker image 1f02469 (8 days old) from Docker Hub for "centos/ruby-22-centos7"
...
<output omitted>
...
* An image stream will be created as "ruby-22-centos7:latest" that will track the source image
* A source build using source code from https://github.com/openshift/ruby-ex.git will be created
* The resulting image will be pushed to image stream "ruby-ex:latest"
* Every time "ruby-22-centos7:latest" changes a new build will be triggered
* This image will be deployed in deployment config "ruby-ex"
* Port 8080/tcp will be load balanced by service "ruby-ex"
* Other containers can access this service through the hostname "ruby-ex"
...
<output omitted>
...
Run 'oc status' to view your app.
上面的過程發生了什么:
- OpenShift pulls Docker image centos/ruby-22-centos7
- OpenShift 從 GitHub 下載了源代碼
- OpenShift applies GitHub 源代碼轉換為image, 命名為ruby-ex存儲於內部倉庫中
- ruby-ex 用來創建build and deployment configurations
- The ruby-ex service 為了pod負載均衡,使用 ruby-ex 這個名稱
再看下應用構建過程
部署過程
POD管理
$ oc get pods
NAME READY STATUS RESTARTS AGE
ruby-ex-1-build 0/1 Completed 0 1h
ruby-ex-1-zzhrc 1/1 Running 0 56m
也可以使用-o wide的輸出,我們可以看到pod所在結點與IP
$ oc get pod -o wide
NAME READY STATUS RESTARTS AGE IP NODE
docker-registry-11-vcqzz 1/1 Running 0 36d 10.128.0.244 openshift-node-01.hsh.io
hawkular-apm-1-8c2s8 1/1 Running 0 19h 10.131.8.186 openshift-node-17.hsh.io
hawkular-apm-es-1-ddrqt 1/1 Running 0 38d 10.130.1.53 openshift-master-03.hsh.io
registry-console-3-wptmh 1/1 Running 1 63d 10.128.8.11 openshift-node-14.hsh.io
router-32-bpzcx 1/1 Running 0 7d 10.108.78.134 openshift-master-02.hsh.io
router-32-cp9sj 1/1 Running 0 7d 10.108.78.136 openshift-node-01.hsh.io
router-32-dbd0g 1/1 Running 0 7d 10.108.78.138 openshift-node-03.hsh.io
router-32-f4b46 1/1 Running 0 7d 10.108.78.140 openshift-node-05.hsh.io
router-32-k8mpx 1/1 Running 0 7d 10.108.78.139 openshift-node-04.hsh.io
router-32-lhbrl 1/1 Running 0 7d 10.108.78.145 openshift-lb-02.hsh.io
router-32-psnbh 1/1 Running 0 7d 10.108.78.133 openshift-master-01.hsh.io
router-32-zqc7k 1/1 Running 0 7d 10.108.78.135 openshift-master-03.hsh.io
router-32-zv1kx 1/1 Running 0 7d 10.108.78.137 openshift-node-02.hsh.io
Openshift部署容器過程
容器和 Kubernetes 提供了許多有價值的概念,適用於任何應用。容器可以提供一種統一的應用打包方式,讓其在開發、測試、質保、准生產和生產環境中運行。它們帶來了不變性,可簡化運維團隊處理安全更新的方式。它們還能讓你在雲環境間進行移植。Kubernetes 和 OpenShift 之類的平台可以跨任意雲環境提供統一的、自動化的、可伸縮的環境(比如,多個雲環境)。
今天先到這兒,希望對技術領導力, 企業管理,系統架構設計與評估,團隊管理, 項目管理, 產品管理,團隊建設 有參考作用 , 您可能感興趣的文章:
領導人怎樣帶領好團隊
構建創業公司突擊小團隊
國際化環境下系統架構演化
微服務架構設計
視頻直播平台的系統架構演化
微服務與Docker介紹
Docker與CI持續集成/CD
互聯網電商購物車架構演變案例
互聯網業務場景下消息隊列架構
互聯網高效研發團隊管理演進之一
消息系統架構設計演進
互聯網電商搜索架構演化之一
企業信息化與軟件工程的迷思
企業項目化管理介紹
軟件項目成功之要素
人際溝通風格介紹一
精益IT組織與分享式領導
學習型組織與企業
企業創新文化與等級觀念
組織目標與個人目標
初創公司人才招聘與管理
人才公司環境與企業文化
企業文化、團隊文化與知識共享
高效能的團隊建設
項目管理溝通計划
構建高效的研發與自動化運維
某大型電商雲平台實踐
互聯網數據庫架構設計思路
IT基礎架構規划方案一(網絡系統規划)
餐飲行業解決方案之客戶分析流程
餐飲行業解決方案之采購戰略制定與實施流程
餐飲行業解決方案之業務設計流程
供應鏈需求調研CheckList
企業應用之性能實時度量系統演變
如有想了解更多軟件設計與架構, 系統IT,企業信息化, 團隊管理 資訊,請關注我的微信訂閱號:
作者:Petter Liu
出處:http://www.cnblogs.com/wintersun/
本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。 該文章也同時發布在我的獨立博客中-Petter Liu Blog。