Forecastle ช่วยให้คุณเข้าถึงแผงควบคุมที่คุณสามารถดูแอปพลิเคชันที่ทำงานอยู่และเข้าถึงได้บน Kubernetes
Forecastle มีแผงควบคุมแบบรวมศูนย์ ซึ่งทำหน้าที่เป็นเกตเวย์ที่สะดวกสบายในการดูและเข้าถึงแอปพลิเคชันของคุณที่ใช้งานบน Kubernetes ไม่ว่าจะเป็นเครื่องมือตรวจสอบ ไปป์ไลน์ CI/CD หรือแอปพลิเคชันอื่นๆ Forecastle จะนำสิ่งเหล่านี้ทั้งหมดมาไว้ที่ปลายนิ้วของคุณในตำแหน่งศูนย์กลางที่เดียว
Forecastle มีฟังก์ชันต่างๆ มากมายที่ออกแบบมาเพื่อปรับปรุงการจัดการและการเข้าถึงแอปพลิเคชันในสภาพแวดล้อม Kubernetes คุณสมบัติที่สำคัญ ได้แก่ :
รายการแอปที่ครอบคลุม : Forecastle รวบรวมและแสดงแอปจากเนมสเปซทั้งหมดที่ระบุใน ConfigMap ทำให้มีมุมมองทรัพยากรของคุณแบบรวมศูนย์
ฟังก์ชันการค้นหา : ค้นหาแอปพลิเคชันเฉพาะอย่างรวดเร็วด้วยคุณลักษณะการค้นหาที่ใช้งานง่าย ปรับปรุงประสบการณ์ผู้ใช้และประสิทธิภาพ
การจัดกลุ่มเนมสเปซ : แอปต่างๆ ได้รับการจัดระเบียบและจัดกลุ่มตามเนมสเปซที่เกี่ยวข้อง ทำให้การนำทางและการจัดการตรงไปตรงมามากขึ้น
ส่วนหัวที่ปรับแต่งได้ : ปรับแต่งรูปลักษณ์ของแดชบอร์ด Forecastle ของคุณด้วยตัวเลือกส่วนหัวที่กำหนดค่าได้ รวมถึงการปรับแต่งชื่อและโทนสี
รองรับหลายอินสแตนซ์ : Forecastle ได้รับการออกแบบมาเพื่อรองรับหลายอินสแตนซ์ รองรับสถานการณ์การใช้งานที่หลากหลายและซับซ้อน
การรวมแอปแบบกำหนดเอง : เพิ่มแอปพลิเคชันที่ไม่ใช่ Kubernetes หรือแอปพลิเคชันภายนอกลงในแดชบอร์ดของคุณได้อย่างง่ายดายเพื่อดูภาพรวมเครื่องมือและทรัพยากรของคุณที่ครอบคลุมมากขึ้น
ForecastleApp CRD : ใช้คำจำกัดความทรัพยากรที่กำหนดเองของ ForecastleApp เพื่อเพิ่มแอปพลิเคชันที่กำหนดเองแบบไดนามิก ซึ่งช่วยเพิ่มความยืดหยุ่นของแดชบอร์ด
การจัดกลุ่มและ URL แบบกำหนดเอง : จัดระเบียบแอปพลิเคชันของคุณเป็นกลุ่มที่กำหนดเองและกำหนด URL เฉพาะสำหรับการนำทางและการเข้าถึงที่ปรับแต่งโดยเฉพาะ
ข้อมูลแอปโดยละเอียด : แต่ละแอปพลิเคชันมาพร้อมกับข้อมูลโดยละเอียด นำเสนอข้อมูลเชิงลึกและรายละเอียดที่สำคัญได้อย่างรวดเร็ว
ส่วนนี้มีไว้สำหรับผู้ดูแลระบบที่ต้องการปรับใช้ Forecastle บนคลัสเตอร์ของตน Forecastle นำเสนอตัวเลือกการใช้งานที่ยืดหยุ่น รองรับทั้งแพลตฟอร์ม Kubernetes และ OpenShift ได้อย่างง่ายดาย
คุณมีทางเลือกในการปรับใช้ Forecastle โดยใช้ Manifest แบบดั้งเดิมหรือผ่านแผนภูมิ Helm คำแนะนำโดยละเอียดสำหรับทั้งสองวิธีมีไว้ด้านล่างเพื่อแนะนำคุณตลอดกระบวนการปรับใช้
คุณสามารถรับ Forecastle ได้โดยการรันคำสั่งต่อไปนี้บนคลัสเตอร์ของคุณ:
สำหรับ Kubernetes:
kubectl apply -f https://raw.githubusercontent.com/stakater/Forecastle/master/deployments/kubernetes/forecastle.yaml
สำหรับ OpenShift:
kubectl apply -f https://raw.githubusercontent.com/stakater/Forecastle/master/deployments/openshift/forecastle.yaml
สำหรับสภาพแวดล้อม Kubernetes คุณสามารถใช้คำสั่ง port-foward ต่อไปนี้เพื่อเข้าถึงแดชบอร์ด Forecastle:
kubectl port-forward svc/forecastle 8080:8080
โปรดทราบว่าคุณจะต้องกำหนดค่าทางเข้าเพื่อเข้าถึง Forecastle จากภายนอกคลัสเตอร์ตามการกำหนดค่าทางเข้าของคลัสเตอร์ของคุณ
สำหรับสภาพแวดล้อม OpenShift เส้นทางเริ่มต้นจะถูกสร้างขึ้นสำหรับบริการ Forecastle คุณสามารถเข้าถึงแดชบอร์ดโดยใช้ URL เส้นทาง
oc get route forecastle
แก้ไขคีย์ namespaceSelector
ใน Forecastle ConfigMap เพื่อแสดงรายการเนมสเปซที่คุณต้องการให้ Forecastle ตรวจสอบ สำหรับคำแนะนำโดยละเอียด โปรดดูคำแนะนำในการกำหนดค่าตัวเลือกเนมสเปซ
หากคุณได้กำหนดค่า Helm บนคลัสเตอร์ Kubernetes ให้ปรับใช้ Forecastle โดยใช้แผนภูมิ Helm แผนภูมิตั้งอยู่ที่นี่
ปรับการกำหนดค่าใน Values.yaml หากจำเป็น และรันคำสั่งต่อไปนี้:
helm install forecastle ./deployments/kubernetes/chart/forecastle
Forecastle ช่วยให้การค้นหาและการจัดการแอปพลิเคชันบน Kubernetes และ OpenShift ง่ายขึ้น ใช้คำอธิบายประกอบเฉพาะเกี่ยวกับทางเข้าและเสนอตัวเลือกการกำหนดค่าต่างๆ สำหรับการปรับแต่ง
คุณสามารถปรับแต่ง Forecastle ได้โดยใช้ไฟล์ ConfigMap หรือไฟล์ Values.yaml เมื่อใช้งานกับ Helm ด้านล่างนี้เป็นฟิลด์ที่กำหนดค่าได้:
สนาม | คำอธิบาย | ค่าเริ่มต้น | พิมพ์ |
---|---|---|---|
เนมสเปซ Selector | ตัวเลือกเนมสเปซแบบละเอียดซึ่งใช้การผสมผสานระหว่างเนมสเปซแบบฮาร์ดโค้ดและตัวเลือกป้ายกำกับ | ใด ๆ : จริง | ตัวเลือกเนมสเปซ |
พื้นหลังส่วนหัว | สีพื้นหลังของส่วนหัว (ระบุด้วยวิธี CSS) | โมฆะ | เชือก |
ส่วนหัวเบื้องหน้า | สีพื้นหน้าของส่วนหัว (ระบุด้วยวิธี CSS) | โมฆะ | เชือก |
ชื่อ | ชื่อเรื่องสำหรับแดชบอร์ดพยากรณ์ | "พยากรณ์ - สตาคาเตอร์" | เชือก |
ชื่ออินสแตนซ์ | ชื่อของอินสแตนซ์พยากรณ์ | - | เชือก |
แอพที่กำหนดเอง | รายการแอปแบบกำหนดเองที่คุณต้องการเพิ่มลงในอินสแตนซ์พยากรณ์ | - | []แอปแบบกำหนดเอง |
เปิดใช้งาน crd แล้ว | เปิดหรือปิดใช้งาน ForecastleApp CRD | จริง | บูล |
เลือกเนมสเปซสำหรับ Forecastle เพื่อตรวจสอบ โดยแสดงรายการเนมสเปซเฉพาะหรือใช้ตัวเลือกป้ายกำกับ
สนาม | คำอธิบาย | ค่าเริ่มต้น | พิมพ์ |
---|---|---|---|
ใดๆ | บูลีนอธิบายว่าเนมสเปซทั้งหมดถูกเลือกโดยตรงกันข้ามกับรายการที่จำกัดเนมสเปซหรือไม่ | เท็จ | บูล |
ตัวเลือกฉลาก | กรองเนมสเปซตามประเภท kubernetes metav1.LabelSelector | โมฆะ | metav1.LabelSelector |
matchNames | รายการชื่อเนมสเปซ | โมฆะ | []สตริง |
หมายเหตุ: หากคุณระบุทั้ง labelSelector
และ matchNames
Forecastle จะนำเนมสเปซทั้งหมดที่ตรงกันมารวมกันและใช้พวกมัน
อนุญาตให้เพิ่มแอปที่ไม่ใช่ Kubernetes หรือแอปภายนอกลงใน Forecastle นี่เป็นคุณสมบัติที่มีประโยชน์อย่างยิ่ง โดยเฉพาะอย่างยิ่งเมื่อมีการเผยแพร่แอปของคุณทั้งใน kubernetes และนอกระบบ คุณสามารถส่งผ่านอาร์เรย์ของแอปที่กำหนดเองภายในการกำหนดค่าได้
สนาม | คำอธิบาย | พิมพ์ |
---|---|---|
ชื่อ | ชื่อของแอปที่กำหนดเอง | สตริง |
ไอคอน | URL ของไอคอนสำหรับแอปที่กำหนดเอง | สตริง |
URL | URL ของแอปที่กำหนดเอง | สตริง |
กลุ่ม | กลุ่มสำหรับแอปที่กำหนดเอง | สตริง |
คุณสมบัติ | คุณสมบัติเพิ่มเติมของแอปเป็นแผนที่ | แผนที่ [สตริง] สตริง |
เครือข่ายถูกจำกัด | ไม่ว่าแอปจะถูกจำกัดเครือข่ายหรือไม่ | บูล |
ด้านล่างนี้คือตัวอย่างวิธีที่คุณอาจกำหนดค่า Forecastle โดยใช้ตัวเลือกเนมสเปซและแอปที่กำหนดเองร่วมกัน:
namespaceSelector :
labelSelector :
matchLabels :
component : redis
matchExpressions :
- {key: tier, operator: In, values: [cache]}
matchNames :
- test
title :
headerBackground :
headerForeground : " #ffffff "
instanceName : " Hello "
crdEnabled : false
customApps :
- name : Hello
icon : http://hello
url : http://helloicon
group : Test
properties :
Version : 1.0
การกำหนดค่านี้สาธิตวิธีการตั้งค่าตัวเลือกเนมสเปซ ปรับแต่งรูปลักษณ์ของส่วนหัว เปิดหรือปิดใช้ฟีเจอร์ CRD และเพิ่มแอปที่กำหนดเองพร้อมคุณสมบัติเฉพาะ
การออกแบบของ Forecastle ช่วยให้สามารถรันอินสแตนซ์ได้หลายอินสแตนซ์ โดยให้ความสามารถในการปรับขนาดและความยืดหยุ่นในสภาพแวดล้อมที่หลากหลาย ต่อไปนี้คือวิธีที่คุณสามารถปรับขนาด Forecastle ได้อย่างมีประสิทธิภาพ
การปรับใช้ขั้นพื้นฐาน : หากต้องการเรียกใช้อินสแตนซ์ Forecastle หลายรายการ ให้ปรับใช้แต่ละอินสแตนซ์ในเนมสเปซที่แยกจากกัน ระบุรายการเนมสเปซสำหรับแต่ละอินสแตนซ์เพื่อตรวจสอบข้อมูลขาเข้า
การกำหนดค่าอินสแตนซ์ที่มีชื่อ : เพื่อการควบคุมที่มากขึ้นว่าแอปพลิเคชันใดจะแสดงในอินสแตนซ์เฉพาะ (โดยไม่คำนึงถึงเนมสเปซ) ให้กำหนดค่าแต่ละอินสแตนซ์ Forecastle ด้วยชื่อที่ไม่ซ้ำกันโดยใช้การตั้ง instanceName
ในการกำหนดค่า Forecastle
การแสดงอินสแตนซ์เฉพาะแอปพลิเคชัน : หลังจากตั้งชื่ออินสแตนซ์ของคุณแล้ว ให้ใช้คำอธิบายประกอบ forecastle.stakater.com/instance
บนข้อมูลขาเข้าของคุณ คำอธิบายประกอบนี้กำหนดว่าแอปพลิเคชันใดจะปรากฏในอินสแตนซ์ของ Forecastle ใด
การแสดงอินสแตนซ์หลายรายการ : เป็นไปได้ที่แอปพลิเคชันเดียว (ทางเข้า) จะปรากฏในแดชบอร์ด Forecastle หลายรายการ ตัวอย่างเช่น หากคุณมีสองอินสแตนซ์ชื่อ dev-dashboard และ prod-dashboard การเพิ่ม dev-dashboard,prod-dashboard
ในคำอธิบายประกอบของอินสแตนซ์ ingress จะช่วยให้แน่ใจว่าแอปพลิเคชันจะมองเห็นได้บนแดชบอร์ดทั้งสอง
การตั้งชื่อที่ไม่ซ้ำใน Helm : เมื่อปรับใช้อินสแตนซ์ Forecastle ผ่าน Helm ตรวจสอบให้แน่ใจว่าแต่ละอินสแตนซ์มีค่า nameOverride
ที่ไม่ซ้ำกัน (ค่าเริ่มต้นคือ Forecastle) ขั้นตอนนี้มีความสำคัญอย่างยิ่งในการหลีกเลี่ยงความขัดแย้งระหว่างทรัพยากรส่วนกลาง เช่น ClusterRole และ ClusterRoleBinding
ส่วนนี้มีไว้สำหรับผู้ใช้ที่ต้องการใช้ Forecastle ในสภาพแวดล้อม Kubernetes
Forecastle ระบุแอปพลิเคชันผ่านคำอธิบายประกอบที่เพิ่มลงในทางเข้าของ Kubernetes ต่อไปนี้คือวิธีที่คุณจะเพิ่มคำอธิบายประกอบที่จำเป็น:
คำอธิบายประกอบ | คำอธิบาย | ที่จำเป็น |
---|---|---|
forecastle.stakater.com/expose | เพิ่มสิ่งนี้ด้วยค่า true กับทางเข้าของแอปที่คุณต้องการแสดงใน Forecastle | true |
forecastle.stakater.com/icon | ไอคอน/รูปภาพ URL ของแอปพลิเคชัน ไอคอน / โลโก้ / ไอคอน repo คอลเลกชันรูปภาพ | false |
forecastle.stakater.com/appName | ชื่อที่กำหนดเองสำหรับแอปพลิเคชันของคุณ ใช้หากคุณไม่ต้องการใช้ชื่อของทางเข้า | false |
forecastle.stakater.com/group | ชื่อกลุ่มที่กำหนดเอง ใช้หากคุณต้องการให้แอปพลิเคชันแสดงในกลุ่มอื่นนอกเหนือจากเนมสเปซที่แอปพลิเคชันกำลังทำงานอยู่ | false |
forecastle.stakater.com/instance | รายชื่อที่คั่นด้วยเครื่องหมายจุลภาคของอินสแตนซ์การคาดการณ์ที่คุณต้องการให้แอปพลิเคชันนี้ปรากฏ ใช้เมื่อคุณมีแดชบอร์ดพยากรณ์หลายรายการ | false |
forecastle.stakater.com/url | URL สำหรับแอปพยากรณ์ (ซึ่งจะแทนที่ URL ทางเข้า) ต้องเริ่มต้นด้วยรูปแบบ เช่น http:// หรือ https:// | false |
forecastle.stakater.com/properties | รายการคู่ key:value ที่คั่นด้วยเครื่องหมายจุลภาคสำหรับคุณสมบัติ ซึ่งจะปรากฏเป็นรายการที่ขยายได้สำหรับแอป | false |
forecastle.stakater.com/network-restricted | ระบุว่าแอปถูกจำกัดเครือข่ายหรือไม่ (จริงหรือเท็จ) | false |
อีกวิธีหนึ่งที่ Forecastle ช่วยเพิ่มความสามารถของคุณในการผสานรวมแอปพลิเคชันแบบไดนามิกคือการใช้ ForecastleApp Custom Resource Definition (CRD) คุณลักษณะนี้เพิ่มชั้นความยืดหยุ่น ช่วยให้คุณสามารถแยกการกำหนดค่าแอปพลิเคชันออกจากการตั้งค่า Ingress และการกำหนดค่าของ Forecastle เอง
การสร้าง ForecastleApp:
หากต้องการสร้าง ForecastleApp ให้ใช้เทมเพลตต่อไปนี้เป็นแนวทาง การกำหนดค่านี้ช่วยให้คุณระบุชื่อแอป กลุ่ม ไอคอน URL และคุณสมบัติเพิ่มเติม:
apiVersion : forecastle.stakater.com/v1alpha1
kind : ForecastleApp
metadata :
name : app-name
spec :
name : My Awesome App
group : dev
icon : https://icon-url
url : http://app-url
networkRestricted : false
properties :
Version : " 1.0 "
instance : " " # Optional
ForecastleApp CRD รองรับการค้นหา URL อัตโนมัติจากทรัพยากร Kubernetes บางอย่าง เช่น:
หากต้องการใช้ฟีเจอร์นี้ ให้เพิ่มฟิลด์ urlFrom ลงในข้อกำหนด ForecastleApp ของคุณดังนี้: โปรดทราบว่าประเภทของทรัพยากรที่คุณต้องการค้นหาจะต้องอยู่ในเนมสเปซเดียวกันกับ ForecastleApp
CR
apiVersion : forecastle.stakater.com/v1alpha1
kind : ForecastleApp
metadata :
name : app-name
spec :
name : My Awesome App
group : dev
icon : https://icon-url
urlFrom : # This is new
ingressRef :
name : my-app-ingress
การกำหนดค่านี้สั่งให้ Forecastle ดึง URL ของแอปโดยตรงจากทรัพยากร Ingress ที่ระบุ ซึ่งจะทำให้การปรับใช้และการกำหนดค่าง่ายขึ้น
หมายเหตุ: หากต้องการใช้คุณลักษณะ CRD ตรวจสอบให้แน่ใจว่าได้เปิดใช้งานโดยการตั้ง crdEnabled: true
ในการกำหนดค่า Forecastle หรือโดยการเปิดใช้งานในแผนภูมิ Helm
โปรดใช้เครื่องมือติดตามปัญหาเพื่อรายงานข้อบกพร่องหรือคำขอคุณสมบัติไฟล์
PRs ยินดีเป็นอย่างยิ่ง โดยทั่วไป เราจะปฏิบัติตามเวิร์กโฟลว์ Git "fork-and-pull"
หมายเหตุ: อย่าลืมรวมข้อมูลล่าสุดจาก "อัปสตรีม" ก่อนทำการดึงคำขอ!
มีคำถาม? ยื่นปัญหา GitHub
เข้าร่วมและพูดคุยกับเราในช่อง #tools-imc เพื่อหารือเกี่ยวกับ Forecastle
ดูคำขอดึงที่ปิดของเรา
Apache2 © Stakater
คำว่า "พยากรณ์" มาจากคำศัพท์เกี่ยวกับการเดินเรือ ซึ่งหมายถึงชั้นบนของเรือที่ตั้งอยู่ตรงหัวเรือ ตรงหน้าเสากระโดง ในอดีต ที่นี่เป็นสถานที่ที่เหล่ากะลาสีเดินเรือและชมทะเลอันกว้างใหญ่เบื้องหน้า
ในบริบทของโครงการ เราได้ใช้ชื่อนี้เป็นคำอุปมาสำหรับบทบาทของ Forecastle ในโลกของ Kubernetes เช่นเดียวกับพยากรณ์ของเรือ Forecastle ของเราทำหน้าที่เป็นแผงควบคุมและสังเกตการณ์ส่วนกลาง ช่วยให้ผู้ใช้สามารถดูแอปพลิเคชันที่ทำงานอยู่ทั้งหมดบน Kubernetes ได้อย่างครอบคลุม โดยเฉพาะแอปพลิเคชันที่มีคำอธิบายประกอบที่กำหนด Forecastle ออกแบบมาให้เป็นแดชบอร์ด Kubernetes ของคุณ โดยให้มุมมองที่ชัดเจนและเข้าถึงแอปพลิเคชันที่คุณปรับใช้ได้อย่างง่ายดาย เหมือนกับกะลาสีสำรวจทะเลจากหัวเรือ
Forecastle
ได้รับการดูแลโดย Stakater ชอบไหม? กรุณาแจ้งให้เราทราบที่ [email protected]
ดูโครงการอื่นๆ ของเรา หรือติดต่อเราในกรณีของบริการระดับมืออาชีพและข้อสงสัยได้ที่ [email protected]