openshift 學習筆記-5 template使用
阿新 • • 發佈:2019-01-04
建立微服務 new-app
[email protected]:~$ oc new-project myci
Already on project "myci" on server "https://openshift-cluster.example.com:8443".
You can add applications to this project with the 'new-app' command. For example, try:
oc new-app centos/ruby-22-centos7~https://github.com/openshift/ruby-ex.git
to build a new example application in Ruby.
[email protected]:~$ oc get project
NAME DISPLAY NAME STATUS
myci Active
[email protected]:~$ oc new-app golang-builder:1.01~http://172.18.103.111/liujunbang/mybank.git --name=test-hello
--> Found image 3de3f0e (3 weeks old) in image stream "openshift/golang-builder" under tag "1.01" for "golang-builder:1.01"
builder golang 1.8
------------------
Platform for building golang
Tags: builder, golang
* A source build using source code from http://172.18.103.111/liujunbang/mybank.git will be created
* The resulting image will be pushed to image stream "test-hello:latest"
* Use 'start-build' to trigger a new build
* This image will be deployed in deployment config "test-hello"
* The image does not expose any ports - if you want to load balance or send traffic to this component
you will need to create a service with 'expose dc/test-hello --port=[port]' later
--> Creating resources ...
imagestream "test-hello" created
buildconfig "test-hello" created
deploymentconfig "test-hello" created
--> Success
Build scheduled, use 'oc logs -f bc/test-hello' to track its progress.
Run 'oc status' to view your app.
應用建立成功。
1、順便驗證一下service 的功能,此時build完成,部署完成,微服務成功啟動,但是沒有建立service。此時進入啟動的為服務容器內部,env檢查環境變數,肯定沒有service的資訊,因為沒有建立。
2、建立service
oc create -f service.yaml
yaml檔案內容如下:
apiVersion: v1
kind: Service
metadata:
labels:
app: test-svc
name: test-svc
namespace: myci
spec:
ports:
- name: test-ci
port: 8081
protocol: TCP
targetPort: 8081
selector:
app: test-hello
sessionAffinity: None
type: ClusterIP
status:
loadBalancer: {}
3、執行擴充套件,把pod數量擴充套件微兩個:
$ oc scale dc test-hello --replicas=2
deploymentconfig "test-hello" scaled
4、進入容器內部,檢視兩個pod的環境變數:
第一個pod:
第二個pod:
我們發現,雖然建立了service,原來的pod裡面仍然沒有注入service的資訊,必須重啟pod以後,service的環境變數資訊才能注入到pod中。
繼續往下template
匯出模板template
執行模板匯入命令:
oc export bc,dc,svc,is,route -o json –as-template=”test-template” > ~/test-template.yaml
本地生成yaml檔案:
test-template.yaml
匯入模板 create template
1、模板建立
oc create -f test-template.yaml
2、在web console 中使用模板建立專案,搜尋test-template模板
3、建立
4、建立完成
5、檢視進度
6、完成後,訪問測試微服務