บริษัทของฉันเปลี่ยนผู้ออกใบรับรอง (เป็น CA เดียวและตอนนี้เรามี CA หลักและ CA ระดับกลาง) ฉันเปลี่ยนการกำหนดค่าในอินสแตนซ์ GitLab สำเร็จและย้ายไปที่ตัวรัน (ซึ่งอยู่ใน Ubuntu 18.04.5 LTS) ฉันพยายามทำตาม เอกสาร GitLab ปราศจากความสำเร็จ.
ฉันทำตามแนวทางเริ่มต้น ที่นี่ ที่ระบุว่า "ค่าเริ่มต้น - อ่านใบรับรองระบบ" ดังนั้นฉันจึงเพิ่มใบรับรอง (CA และระดับกลาง) ลงในรายการ Ubuntu CA ดูเหมือนว่าทุกอย่างจะทำงานได้เพราะตัวเรียกใช้ปรากฏใน GitLab
ฉันเริ่มงานและได้รับ:
ทำงานกับ gitlab-runner 11.5.0 (3afdaba6)
บน RUN01 12ccbb74
การใช้ตัวดำเนินการ Docker กับโหนดอิมเมจ: ล่าสุด ...
กำลังดึงโหนดอิมเมจนักเทียบท่า: ล่าสุด ...
การใช้อิมเมจนักเทียบท่า sha256:ab773999a02271b25a9f3bce46018fc3ad46a7f922a5e3e8712b6d1c7087c415 สำหรับ node:latest ...
วิ่งบน Runner-12ccbb74-project-73-concurrent-0 ผ่าน (...)...
00:02
กำลังเรียกการเปลี่ยนแปลง...
00:01
HEAD อยู่ที่ 60b6860 อัปเดตการพึ่งพา mocha เป็น v9
ร้ายแรง: ไม่สามารถเข้าถึง 'https://gitlab-ci-token:xxxxxxxxxxxxxxxxxxxx@(...).git/': ปัญหาใบรับรอง SSL: ไม่สามารถรับใบรับรองผู้ออก
ข้อผิดพลาด: งานล้มเหลว: รหัสออก 1
จากนั้นฉันเพิ่ม (บนอินสแตนซ์ GitLab) ห่วงโซ่ที่สมบูรณ์ไปยังไฟล์ใบรับรอง และข้อผิดพลาดเปลี่ยนเป็น ปัญหาใบรับรอง SSL: ใบรับรองที่ลงนามด้วยตนเองในห่วงโซ่ใบรับรอง
.
ตรรกะของฉัน*: ใช้งานได้กับ Ubuntu แต่ใช้ไม่ได้กับ Docker ดังนั้นฉันจึงย้ายไปที่ เชื่อถือใบรับรอง TLS สำหรับตัวดำเนินการ Docker และ Kubernetes ส่วน.
สิ่งที่ฉันพยายามจนถึงตอนนี้ไม่สำเร็จ:
- ฉันเพิ่มใบรับรอง Root CA ไปที่
/etc/gitlab-runner/certs/ca.crt
.
- ฉันยังลองใช้ไฟล์ที่มี Root CA และ Intermediate CA ในสายโซ่
- ฉันเพิ่ม
ปริมาณ = ["/cache", "/path/to-ca-cert-dir/ca.crt:/etc/gitlab-runner/certs/ca.crt:ro"]
ไปที่ config.toml
ไฟล์. แต่ฉันเกือบจะแน่ใจว่าฉันควรเปลี่ยน /path/to-ca-cert-dir
ด้วยบางสิ่งบางอย่าง ฉันแค่ไม่รู้ว่าอะไร
* อัปเดต: เมื่อฉันติดตั้ง GitLab Runner ฉันทำตาม ติดตั้งโดยใช้ที่เก็บ GitLab สำหรับ Debian/Ubuntu/CentOS/RedHatดังนั้นคำแนะนำของนักเทียบท่า/K8 จึงไม่สมเหตุสมผล ฉันโพสต์ คำตอบ ว่าฉันสามารถแก้ปัญหานี้ได้อย่างไร