หยุดการสิ้นสุดเซสชันการแก้ไขโค้ดที่ 10 นาที
ตรวจสอบหาสาเหตุของการตัดการเชื่อมต่อ CODE ที่กินเวลา 10 นาที ว่าเกิดจากพร็อกซี โหลดบาลานเซอร์ หรือเส้นทาง WebSocket จากนั้นแก้ไขค่าหมดเวลาและตรวจสอบว่าเซสชันยังคงเชื่อมต่ออยู่หรือไม่
ณ วันที่ 10 ตุลาคม 2569 รีจิสทรีแพ็กเกจต้นทางระบุว่าเวอร์ชันของชาร์ตคือ 1.3.0 การติดตั้งชาร์ตเป็นเพียงส่วนหนึ่งของการใช้งานจริง คุณยังต้องมีชื่อโฮสต์ Collabora สาธารณะ รายการอนุญาต WOPI ที่ถูกต้องสำหรับโฮสต์จัดเก็บเอกสาร และการตั้งค่า ingress ที่เก็บคำขอสำหรับแต่ละเอกสารไว้ใน pod เดียวกัน รีจิสทรีแพ็กเกจต้นทางระบุเวอร์ชันของชาร์ตคือ 1.3.0 ณ เวลาที่เขียนบทความนี้ โปรดตรวจสอบที่เก็บข้อมูลก่อนติดตั้ง เนื่องจากเวอร์ชันของชาร์ต Helm และเวอร์ชันของอิมเมจคอนเทนเนอร์ CODE เป็นค่าที่แยกจากกัน
ขั้นตอนนี้ใช้collabora/collabora-onlineแผนภูมิอย่างเป็นทางการและ NGINX Ingress Controller ไฟล์ README ของแผนภูมิยังมีตัวอย่าง HAProxy ด้วย คำอธิบายประกอบของ ingress นั้นเฉพาะเจาะจงกับคอนโทรลเลอร์ ดังนั้นให้ใช้ตัวอย่างสำหรับคอนโทรลเลอร์ที่คุณติดตั้งไว้แทนที่จะผสมคำอธิบายประกอบต่างๆ เข้าด้วยกัน
office.example.com.Collabora เผยแพร่แผนภูมิจากที่เก็บข้อมูลออนไลน์ของโครงการ เพิ่มแผนภูมิ รีเฟรชดัชนีในเครื่อง และตรวจสอบข้อมูลเมตาของแผนภูมิและค่าเริ่มต้นก่อนติดตั้ง:
helm repo add collabora https://collaboraonline.github.io/online/
helm repo update
helm show chart collabora/collabora-online
helm show values collabora/collabora-online
เวอร์ชันของแผนภูมิระบุแพ็กเกจ ไม่ใช่แท็กรูปภาพ CODE เสมอไป ตรวจสอบที่เก็บรูปภาพและแท็กในค่าการเผยแพร่ จากนั้นตรึงเวอร์ชันแผนภูมิที่คุณตรวจสอบไว้สำหรับการอัปเกรดซ้ำได้
สร้าง Secret ที่มีขอบเขตเฉพาะเนมสเปซโดยใช้เวิร์กโฟลว์การจัดการ Secret ที่ได้รับการอนุมัติของคุณ ค่าในแผนภูมิรองรับ Secret ที่มีอยู่แล้วและชื่อคีย์ที่กำหนดค่าได้ ชื่อคีย์เริ่มต้นคือusernameและpasswordตรวจสอบว่า Secret มีอยู่ในcollaboraเนมสเปซก่อนทำการติดตั้ง
สร้างไฟล์my_values.yaml. แทนที่ชื่อโฮสต์ตัวอย่างทั้งสองด้วยโดเมนสาธารณะจริงของคุณaliasgroupsค่าจะระบุไคลเอ็นต์ WOPI (เช่น เซิร์ฟเวอร์ Seafile หรือ Nextcloud) โฮสต์ Ingress และserver_nameระบุบริการ Collabora ที่เบราว์เซอร์ของผู้ใช้เข้าถึง
replicaCount: 1
ingress:
enabled: true
className: nginx
annotations:
nginx.ingress.kubernetes.io/upstream-hash-by: "$arg_WOPISrc"
nginx.ingress.kubernetes.io/proxy-body-size: "0"
nginx.ingress.kubernetes.io/proxy-read-timeout: "600"
nginx.ingress.kubernetes.io/proxy-send-timeout: "600"
hosts:
- host: office.example.com
paths:
- path: /
pathType: ImplementationSpecific
autoscaling:
enabled: false
collabora:
aliasgroups:
- host: "https://files.example.com:443"
extra_params: --o:ssl.enable=false --o:ssl.termination=true
server_name: office.example.com:443
existingSecret:
enabled: true
secretName: collabora-admin
usernameKey: username
passwordKey: password
ตัวอย่างนี้เป็นไปตามรูปแบบ ingress ของ NGINX ที่ Collabora ได้บันทึกไว้: คำขอจะถูกแฮชโดยใช้WOPISrcพารามิเตอร์ และเวลาหมดอายุการอ่านและการส่งของพร็อกซีจะถูกขยายออกไปสำหรับเซสชันเอกสาร โปรดตรวจสอบชื่อคำอธิบายประกอบกับเวอร์ชัน ingress-controller ของคุณ หากคุณใช้ HAProxy โปรดใช้คำอธิบายประกอบ HAProxy และการกำหนดค่าการปรับสมดุลใน README ของแผนภูมิแทน
ตัว เลือก ssl.enable=falseเหล่านี้ssl.termination=trueมีไว้สำหรับการออกแบบที่ TLS สิ้นสุดที่ฝั่งขาเข้า และการรับส่งข้อมูลจากฝั่งขาเข้าไปยังพอดเป็นการรับส่งข้อมูลภายใน ไม่ได้หมายความว่าปลายทางสาธารณะควรใช้ HTTP ให้คงชื่อโฮสต์ของฝั่งขาเข้าไว้บน HTTPS และอย่าเปิดเผยบริการ HTTP ธรรมดาของพอดสู่ภายนอกโดยตรง ตั้งค่าserver_nameเมื่อ Collabora อยู่เบื้องหลังพร็อกซีแบบย้อนกลับ หรือไม่สามารถอนุมานชื่อโฮสต์ภายนอกได้โดยตรง
สำหรับสำเนาคงที่หลายชุด ให้ตั้งค่าreplicaCountอย่างรอบคอบและรักษาความสัมพันธ์ของเซสชันไว้ เอกสาร README ต้นทางระบุว่า HPA ถูกปิดใช้งานเนื่องจากการปรับขนาดอาจรบกวนการแก้ไขร่วมกันและการคัดลอก/วาง จำนวนสำเนาที่มากขึ้นเพียงอย่างเดียวไม่ได้ทำให้การกำหนดเส้นทางถูกต้อง โปรดตรวจสอบให้แน่ใจว่า ingress ของคุณส่งคำขอสำหรับเอกสารเดียวกันไปยัง pod เดียวกัน
ติดตั้งเวอร์ชันจากที่เก็บอย่างเป็นทางการและรอจนกว่าการปรับใช้จะพร้อมใช้งาน:
helm install --create-namespace \
--namespace collabora \
collabora-online collabora/collabora-online \
--values my_values.yaml
kubectl get pods -n collabora
kubectl get ingress -n collabora
หากคุณกำลังอัปเดตเวอร์ชันที่มีอยู่แล้ว ให้ใช้helm upgradeชื่อเวอร์ชัน เนมสเปซ และไฟล์ค่าเดิม แทนที่จะสร้างเวอร์ชันใหม่ ตรวจสอบบันทึกการเปลี่ยนแปลงและรายละเอียดการเปลี่ยนแปลงของแผนภูมิ ก่อนที่จะอัปเกรดอินสแตนซ์ที่ใช้งานจริง
ตรวจสอบว่าพ็อดพร้อมใช้งานแล้ว และ Ingress รายงานโฮสต์และที่อยู่ตามที่คาดไว้ หากยังคงอยู่ในสถานะรอดำเนินการ ให้ตรวจสอบเหตุการณ์และบันทึกก่อนเปลี่ยนแปลงการตั้งค่าทรัพยากร:
kubectl describe pods -n collabora
kubectl logs -n collabora deployment/<deployment-name>
เลือกขนาด CPU และหน่วยความจำให้เหมาะสมกับปริมาณงานและความจุของคลัสเตอร์ เอกสาร README ของแผนภูมิแสดงตัวอย่างคำขอและข้อจำกัด ไม่ใช่การรับประกันสำหรับทุกการใช้งาน โปรดระวังการลดความเร็ว (throttling), การหยุดทำงานเนื่องจากหน่วยความจำไม่เพียงพอ (OOM kills) และการรีสตาร์ท
หลังจากเปิดใช้งาน DNS และ TLS แล้ว ให้ร้องขอจุดเชื่อมต่อการค้นหาของ Collabora ผ่านชื่อโฮสต์สาธารณะ:
curl -fsS https://office.example.com/hosting/discovery
การตอบสนองที่สำเร็จควรมี XML ของการค้นหา WOPI แทนที่จะเป็นหน้าข้อผิดพลาดขาเข้าหรือคำเตือนเกี่ยวกับใบรับรอง จากนั้นกำหนดค่าไคลเอ็นต์ WOPI ของคุณด้วย URL สาธารณะของ Collabora เดียวกัน และยืนยันว่า Collabora aliasgroupsมีชื่อโฮสต์และพอร์ต HTTPS ของไคลเอ็นต์นั้น การตั้งค่าที่แน่นอนของไคลเอ็นต์ขึ้นอยู่กับผลิตภัณฑ์จัดเก็บข้อมูล
เปิดเอกสารทดสอบจากไคลเอ็นต์ WOPI และทำการเปลี่ยนแปลงเล็กน้อย ตรวจสอบว่าโปรแกรมแก้ไขโหลดได้สำเร็จ สามารถเข้าร่วมเซสชันเบราว์เซอร์ที่สองได้หากต้องการทำงานร่วมกัน และการเปลี่ยนแปลงจะถูกบันทึกกลับไปยังบริการจัดเก็บข้อมูล การตรวจสอบแบบครบวงจรนี้จะทดสอบ DNS, TLS ขาเข้า, การกำหนดเส้นทางเซสชัน, การอนุญาตโฮสต์ WOPI และการถ่ายโอนไฟล์
coolwsd_xml_contentจะแทนที่ไฟล์การกำหนดค่าเริ่มต้นและต้องใช้เนื้อหาไฟล์ทั้งหมด ควรใช้ค่าเฉพาะของแผนภูมิสำหรับกลุ่มนามแฝงและพารามิเตอร์ เว้นแต่คุณจะมีไฟล์การกำหนดค่า XML ที่สมบูรณ์และเข้ากันได้กับเวอร์ชันตรวจสอบหาสาเหตุของการตัดการเชื่อมต่อ CODE ที่กินเวลา 10 นาที ว่าเกิดจากพร็อกซี โหลดบาลานเซอร์ หรือเส้นทาง WebSocket จากนั้นแก้ไขค่าหมดเวลาและตรวจสอบว่าเซสชันยังคงเชื่อมต่ออยู่หรือไม่
ติดตั้ง Helm chart อย่างเป็นทางการของ Collabora กำหนดค่าการเข้าถึง WOPI และความสัมพันธ์ของ ingress และตรวจสอบการปรับใช้โดยปราศจากข้อผิดพลาดในการตั้งค่าทั่วไป
ใช้คำขอจากเบราว์เซอร์ บันทึก WOPI และการตรวจสอบพร็อกซีแบบเจาะจงเพื่อค้นหาสาเหตุที่ Collabora เปิดเอกสารว่างเปล่า และเลือกวิธีแก้ไขที่เหมาะสมกับหลักฐานที่พบ
ตั้งค่าพจนานุกรมและแท็กข้อความในเอกสารของ CODE Docker ให้ถูกต้อง เพื่อให้ภาษาอังกฤษ ภาษาฝรั่งเศส และภาษาอื่นๆ ที่รองรับ ได้รับการตรวจสอบการสะกดคำอย่างถูกต้อง
ปรับค่าเกณฑ์การไม่ใช้งานต่อการแสดงผลใน coolwsd และแยกความแตกต่างจากค่าการหรี่แสงแท็บพื้นหลัง การปิดเอกสาร การบันทึกอัตโนมัติ และการหมดอายุการเข้าสู่ระบบ
หยุดการตรวจสอบการอัปเดต CODE ตามกำหนดเวลา ตรวจสอบบริการระยะไกลเสริม และใช้การควบคุมเครือข่ายขาออกโดยไม่ทำให้การแก้ไขเอกสารหยุดชะงัก
เปิดใช้งานการแก้ไขเอกสารอย่างปลอดภัยใน Seafile โดยการกำหนดค่า URL การค้นหาของ Collabora, การเข้าถึง HTTPS และ WOPI สำหรับการใช้งานของคุณ
ทดสอบคลิปบอร์ดของระบบ ปรับสิทธิ์การเข้าถึงของเบราว์เซอร์ และระบุว่าเมื่อใดที่การผสานรวม Collabora ที่ฝังอยู่จำเป็นต้องมีการเปลี่ยนแปลงนโยบาย iframe
ติดตั้งไฟล์ฟอนต์ลงใน Docker และ systemplate ของ Collabora เพื่อให้แบบอักษรที่กำหนดเองปรากฏในโปรแกรมแก้ไขและแสดงผลได้อย่างถูกต้องในเอกสาร
สำรองข้อมูล coolwsd.xml และซอร์สโค้ดสำหรับการปรับใช้ กู้คืนอย่างปลอดภัย และตรวจสอบโค้ดก่อนที่ผู้ใช้จะกลับมาแก้ไขอีกครั้ง