OpenShift - การปรับขนาดแอปพลิเคชัน
การปรับขนาดอัตโนมัติเป็นคุณลักษณะใน OpenShift ที่แอปพลิเคชันที่ปรับใช้สามารถปรับขนาดและจมได้ตามและเมื่อต้องการตามข้อกำหนดบางประการ ในแอปพลิเคชัน OpenShift การปรับขนาดอัตโนมัติเรียกอีกอย่างว่าการปรับขนาดอัตโนมัติของพ็อด มีสองtypes of application scaling ดังต่อไปนี้.
มาตราส่วนแนวตั้ง
การปรับขนาดตามแนวตั้งเป็นเรื่องของการเพิ่มพลังงานให้กับเครื่องเดียวซึ่งหมายถึงการเพิ่ม CPU และฮาร์ดดิสก์มากขึ้น วิธีนี้เป็นวิธีเก่าของ OpenShift ซึ่งตอนนี้ OpenShift ไม่รองรับ
มาตราส่วนแนวนอน
การปรับขนาดประเภทนี้มีประโยชน์เมื่อมีความจำเป็นในการจัดการคำขอเพิ่มเติมโดยการเพิ่มจำนวนเครื่อง
ใน OpenShift มีไฟล์ two methods to enable the scaling feature.
- การใช้ไฟล์คอนฟิกูเรชันการปรับใช้
- ในขณะที่เรียกใช้ภาพ
การใช้ Deployment Configuration File
ในวิธีนี้คุณลักษณะการปรับขนาดจะเปิดใช้งานผ่านไฟล์ yaml คอนฟิกูเรชันของ deploymant ด้วยเหตุนี้คำสั่ง OC autoscale จะใช้กับจำนวนการจำลองขั้นต่ำและสูงสุดซึ่งจำเป็นต้องรัน ณ ช่วงเวลาใดเวลาหนึ่งในคลัสเตอร์ เราต้องการคำจำกัดความของวัตถุสำหรับการสร้างตัวปรับขนาดอัตโนมัติ ต่อไปนี้เป็นตัวอย่างของไฟล์นิยามตัวปรับขนาดอัตโนมัติของพ็อด
apiVersion: extensions/v1beta1
kind: HorizontalPodAutoscaler
metadata:
name: database
spec:
scaleRef:
kind: DeploymentConfig
name: database
apiVersion: v1
subresource: scale
minReplicas: 1
maxReplicas: 10
cpuUtilization:
targetPercentage: 80
เมื่อเรามีไฟล์แล้วเราจำเป็นต้องบันทึกด้วยรูปแบบ yaml และรันคำสั่งต่อไปนี้สำหรับการปรับใช้
$ oc create –f <file name>.yaml
ขณะเรียกใช้รูปภาพ
คุณยังสามารถปรับขนาดอัตโนมัติโดยไม่มีไฟล์ yaml ได้โดยใช้สิ่งต่อไปนี้ oc autoscale คำสั่งในบรรทัดคำสั่ง oc
$ oc autoscale dc/database --min 1 --max 5 --cpu-percent = 75
deploymentconfig "database" autoscaled
คำสั่งนี้จะสร้างไฟล์ประเภทเดียวกันที่สามารถใช้อ้างอิงได้ในภายหลัง
กลยุทธ์การปรับใช้ใน OpenShift
กลยุทธ์การปรับใช้ใน OpenShift กำหนดขั้นตอนการปรับใช้ด้วยวิธีการที่แตกต่างกัน ใน OpenShift ต่อไปนี้คือไฟล์important types of deployment strategies.
- กลยุทธ์การหมุน
- สร้างกลยุทธ์ใหม่
- กลยุทธ์ที่กำหนดเอง
ต่อไปนี้เป็นตัวอย่างของไฟล์คอนฟิกูเรชันการปรับใช้ซึ่งส่วนใหญ่ใช้สำหรับการปรับใช้บนโหนด OpenShift
kind: "DeploymentConfig"
apiVersion: "v1"
metadata:
name: "database"
spec:
template:
metadata:
labels:
name: "Database1"
spec:
containers:
- name: "vipinopenshifttest"
image: "openshift/mongoDB"
ports:
- containerPort: 8080
protocol: "TCP"
replicas: 5
selector:
name: "database"
triggers:
- type: "ConfigChange"
- type: "ImageChange"
imageChangeParams:
automatic: true
containerNames:
- "vipinopenshifttest"
from:
kind: "ImageStreamTag"
name: "mongoDB:latest"
strategy:
type: "Rolling"
ในไฟล์ Deploymentconfig ด้านบนเรามีกลยุทธ์เป็น Rolling
เราสามารถใช้คำสั่ง OC ต่อไปนี้สำหรับการปรับใช้
$ oc deploy <deployment_config> --latest
กลยุทธ์กลิ้ง
กลยุทธ์การกลิ้งใช้สำหรับการอัปเดตหรือการปรับใช้งาน กระบวนการนี้ยังสนับสนุน life-cycle hooks ซึ่งใช้สำหรับการแทรกโค้ดลงในกระบวนการปรับใช้ใด ๆ
strategy:
type: Rolling
rollingParams:
timeoutSeconds: <time in seconds>
maxSurge: "<definition in %>"
maxUnavailable: "<Defintion in %>"
pre: {}
post: {}
สร้างกลยุทธ์ใหม่
กลยุทธ์การปรับใช้นี้มีคุณสมบัติพื้นฐานบางประการของกลยุทธ์การปรับใช้แบบกลิ้งและยังรองรับการใช้งานตลอดอายุการใช้งาน
strategy:
type: Recreate
recreateParams:
pre: {}
mid: {}
post: {}
กลยุทธ์ที่กำหนดเอง
สิ่งนี้มีประโยชน์มากเมื่อมีคนต้องการจัดเตรียมกระบวนการปรับใช้หรือโฟลว์ของตนเอง การปรับแต่งทั้งหมดสามารถทำได้ตามความต้องการ
strategy:
type: Custom
customParams:
image: organization/mongoDB
command: [ "ls -l", "$HOME" ]
environment:
- name: VipinOpenshiftteat
value: Dev1