Openshift部署教程

安全劍客發表於2020-11-23
導讀 Openshift是一個開源容器雲平臺,是一個基於主流的容器技術Docker和Kubernetes構建的雲平臺。Openshift底層以Docker作為容器引擎驅動,以Kubernetes 作為容器編排引擎元件,並提供了開發語言,中介軟體,DevOps自動化流程工具和web console使用者介面等元素,提供了一套完整的基於容器的應用雲平臺。

OpenShift 生態系統成了 Kubernetes 生態系統。其核心技術使生態系統可以非常地靈活,社群已經在 API 和介面上做了標準化,這為統一整合的新思想成為了可能。它還使我們可以在任何雲平臺上部署 OpenShift,比如 AWS、 Azure、 GCP、 OpenStack、 VMware、 RHV,以及 bare meta。

Openshift部署流程

Openshift部署教程Openshift部署教程

示例過程如下
$ oc new-project project1
Now using project "project1" on server 
$ oc new-app centos/ruby-22-centos7~
--> Found Docker image 1f02469 (8 days old) from Docker Hub for "centos/ruby-22-centos7"
......
 * An image stream will be created as "ruby-22-centos7:latest" that will track the source image
 * A source build using source code from  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"
......
 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 這個名稱

再看下應用構建過程

Openshift部署教程Openshift部署教程

部署過程

Openshift部署教程Openshift部署教程

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部署容器過程

Openshift部署教程Openshift部署教程

容器和 Kubernetes 提供了許多有價值的概念,適用於任何應用。容器可以提供一種統一的應用打包方式,讓其在開發、測試、質保、準生產和生產環境中執行。它們帶來了不變性,可簡化運維團隊處理安全更新的方式。它們還能讓你在雲環境間進行移植。Kubernetes 和 OpenShift 之類的平臺可以跨任意雲環境提供統一的、自動化的、可伸縮的環境(比如,多個雲環境)。

原文來自:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2736228/,如需轉載,請註明出處,否則將追究法律責任。

相關文章