หลังจากที่เราได้ทำการสร้าง project จาก lab ที่แล้ว (Lab 1) ขั้นต่อไป เรามาทำการสร้าง Openshift application บน cluster.
การสร้าง App ใน Openshift cluster นั้นมีหลายวิธี
เราใช้ command oc new-app
ใช้สำหรับสร้าง app ใน Openshift โดยใช้ source code ที่มีอยู่แล้ว ไม่ว่าจาก local หรือ จาก repository ไม่ว่า github/gitlab. ถ้ามีการระบุ repository, new-app
จะทำการตรวจสอบว่าควรใช้ build strategy แบบใด (Docker หรือ Source) และ new-app
จะทำการตรวจสอบว่า ภาษาอะไร ที่ใช้ในการสร้าง app และใช้ builder ที่เหมาะสมกับ app ของเรา
การ build จาก local DockerFile:
$ oc new-app /path/to/local/ or /remote/Dockerfile
การ build จาก source code:
$ oc new-app path/to/local/ or /remote/repository.git
Openshift มี feature ที่รองรับ DockerHub โดยเราสามารถระบุ image ใน DockerHub ที่เราต้องการใช้ deploy app บน cluster, command new-app
จะทำการสร้าง runnable image จาก image ที่เราระบุ
ยกตัวอย่าง, การสร้าง app จาก nginx image เราใช้ command ตามด้านล่าง:
$ oc new-app nginx
และ Openshift ไม่ได้จำกัดให้เราใช้งาน DockerHub registry อย่างเดียว, OpenShift สามารถรองรับการเข้าถึง Private registries ได้อีกด้วย:
$ oc new-app myregistry:8000/example/image
Openshift templates คือ starter kit ที่ทาง Openshift ได้ปูทางเอาไว้ให้ developer สร้างหยิบไปใช้งานได้ทันที โดย templates มักจะครอบคลุม applications ที่เป็นที่นิยม และ ถูกนำไปใช้งานบ่อย เช่น Ruby, Node และ MongoDB
ตัวอย่าง nodejs template จะมีโครงสร้างตามด้านล่าง:
nodejs-ex
├── openshift
│ └── templates
│ ├── nodejs.json
│ ├── nodejs-mongodb.json
│ └── nodejs-mongodb-persistent.json
├── package.json
├── README.md
├── server.js
├── tests
│ └── app_test.js
└── views
└── index.html
สำหรับการ Deploy เราเพียงแค่ run command ตามด้านล่าง:
$ oc new-app -f /path/to/nodejs.json
ถ้า template นี้ได้ถูกเก็บไว้ที่ repo อยู่แล้ว, เราสามารถสร้าง app จาก source code ตาม section 1.1
ถ้าเราไม่ต้องการสร้าง app จาก cli ผ่าน cmd/terminal, อีกทางเลือกนึงที่เรียกได้ว่า user-friendly กว่าคือการใช้ Openshift UI ซึ่งได้ถูกออกมาแบบมาให้ใช้งานง่าย โดยไม่ขึ้นกับ cli tool เรียกได้ว่าค่อนข้างสะดวก และย่นระยะเวลาในการเรียนรู้เพิ่มเติมเกี่ยวกับ cli tool (ยกตัวอย่างการใช้ kubernetes ซึ่งจะไม่ได้มี UI ให้เราใช้สร้าง projects, applications). OpenShift console จะมากับทุกๆ cluster ซึ่งสำหรับ local cluster ที่เรารันขึ้นมา URL/address จะแสดงไว้หลังจากที่เราสั่ง minishift start
ตามที่เราได้ปฏิบัติไปแล้วใน setup:
$ minishift start
...
The server is accessible via web console at:
https://192.168.64.11:8443/console
You are logged in as:
User: developer
Password: <any value>
Login ผ่าน UI:
ตามที่เราได้เห็นผ่านทาง cmd/terminal หลังจาก minishift start
เราสามารถใช้ user developer ส่วน password จะเป็นอะไรก็ได้
หน้า Catalog:
หลังจากที่ logic เข้ามาแล้ว เราจะเห็นหน้า Catalog ซึ่งก็มีตัวอย่าง applications ให้เราลองหยิบไป deploy บน local cluster ของเราได้ สามารถย้อนหลับไปดู command ที่ section 1.2
สามารถอ่านเพิ่มเติมได้ที่ reference เกี่ยวกับการใช้ new-app
command เพื่อสร้าง OpenShift applications.
Good job, Keep it up !! ณ ตอนนี้ ทุกท่านได้ทราบวิธีการสร้าง applications ใน Openshift. ขั้นตอนต่อไป เรามาดูกันว่า เราะจัดการ applications ใน Openshift ย่างไร ที่ Lab ถัดไป (Lab 3)