Score:0

หน้าต่างแสดงข้อผิดพลาดการปรับใช้ GKE Kubernetes สีน้ำเงิน/เขียว

ธง ua

เรามีคอนเทนเนอร์คลัสเตอร์ที่มีโหมด: Autopilot ทำงานใน GKE ขณะนี้เราได้รับข้อผิดพลาดในหน้าต่างสั้นๆ เมื่อดำเนินการปรับใช้ "สีน้ำเงิน/สีเขียว" จาก Jenkins

เมื่อเราเปลี่ยนบริการเป็นการปรับใช้ใหม่ จะมีหน้าต่างน้อยกว่า 100 มิลลิวินาทีที่จะทำให้เกิดข้อผิดพลาดต่อไปนี้

<html><head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>502 Server Error</title>
</head>
<body text=#000000 bgcolor=#ffffff>
<h1>Error: Server Error</h1>
<h2>The server encountered a temporary error and could not complete your request.<p>Please try again in 30 seconds.</h2>
<h2></h2>
</body></html>

ฉันคิดว่าเป็นเพราะหนึ่งในพ็อดยังไม่เริ่มทำงาน แต่ยังคงเริ่มกำหนดเส้นทางทราฟฟิกไปยังการปรับใช้

เราตรวจสอบว่าการปรับใช้นั้นเริ่มใช้งานหลังจากการปรับใช้ถูกสร้างขึ้นในลักษณะนี้

ด้วยปลั๊กอินเจนกินส์: https://github.com/jenkinsci/google-kubernetes-engine-plugin เรามี ตรวจสอบการปรับใช้ แอตทริบิวต์ที่กำหนดเป็น จริง.

ขั้นตอน ([
  $คลาส: 'KubernetesEngineBuilder'
  รหัสโครงการ: env.PROJECT_ID,
  ชื่อคลัสเตอร์: env.CLUSTER_NAME
  เนมสเปซ: env.NAMESPACE,
  ตำแหน่ง: env.CLUSTER_LOCATION
  manifestPattern: './apps/app/deployments/green.yaml',
  รหัสประจำตัว: env.APP_CREDENTIALS_ID,
  ตรวจสอบการปรับใช้: จริง
])

นอกจากนี้ เรายังรวมการตรวจสอบครั้งที่สองเพื่อตรวจสอบว่าการปรับใช้จริงได้เริ่มใช้งานแล้ว เห็นได้ชัดว่าปลั๊กอิน Jenkins ดูเหมือนจะไม่น่าเชื่อถือมากนัก

สถานะการเปิดตัว kubectl การปรับใช้แอปการปรับใช้ --namespace app-namespace --watch --timeout=5m

นอกจากนี้เรายังสังเกตเห็นว่าการปรับใช้อาจเกิดข้อผิดพลาดได้และบริการจะถูกสร้างขึ้นในขั้นตอนต่อไปซึ่งจะทำให้แอปพลิเคชันขัดข้อง แต่นี่เป็นอีกกรณีหนึ่งที่เราต้องหาวิธีแก้ไข ซึ่งอาจเกี่ยวข้องกับปลั๊กอิน Jenkins

ของเรา การปรับใช้ YAML มีลักษณะดังนี้:

apiVersion: แอป/v1
ประเภท: การปรับใช้
ข้อมูลเมตา:
  ชื่อ: แอพ-ฟ้า
  เนมสเปซ: แอป
  ป้ายกำกับ: {app.kubernetes.io/managed-by: graphite-jenkins-gke}
ข้อมูลจำเพาะ:
  ความคืบหน้า Deadline วินาที: 600
  แบบจำลอง: 3
  ตัวเลือก:
    matchLabels: {แอป: แอปสีน้ำเงิน}
  แม่แบบ:
    ข้อมูลเมตา:
      ป้ายกำกับ: {แอป: แอปสีน้ำเงิน}
    ข้อมูลจำเพาะ:
      automountServiceAccountToken: จริง
      ตู้คอนเทนเนอร์:
        ภาพ: eu.gcr.io/container-registry-project/app:latest
        imagePullPolicy: เสมอ
        ชื่อ: แอพ
        พอร์ต:
        - {containerPort: 8080, ชื่อ: http, โปรโตคอล: TCP}
        livenessProbe:
          httpรับ:
            เส้นทาง: /สุขภาพ
            พอร์ต: 8080
          initialDelaySeconds: 15
          periodSeconds: 10
        ความพร้อม Probe:
          httpรับ:
            เส้นทาง: /
            พอร์ต: 8080
          initialDelaySeconds: 15
          periodSeconds: 5
        ทรัพยากร:
          ขีดจำกัด: {cpu: 500m, พื้นที่เก็บข้อมูลชั่วคราว: 1Gi, หน่วยความจำ: 512Mi}
          คำขอ: {cpu: 500m, พื้นที่เก็บข้อมูลชั่วคราว: 1Gi, หน่วยความจำ: 512Mi}
        บริบทความปลอดภัย:
          allowPrivilegeEscalation: เท็จ
          ความสามารถ:
            ดร็อป: [NET_RAW]
          สิทธิพิเศษ: เท็จ
          readOnlyRootFilesystem: เท็จ
          runAsNonRoot: เท็จ
      นโยบายรีสตาร์ท: เสมอ
      ชื่อตัวกำหนดตารางเวลา: ตัวกำหนดตารางเวลาเริ่มต้น
      บัญชีบริการ: แอป
      ชื่อบัญชีบริการ: แอป

ของเรา บริการ YAML มีลักษณะดังนี้:

api เวอร์ชัน: v1
ชนิด:บริการ
ข้อมูลเมตา:
  ชื่อ: แอพ-บริการ
  เนมสเปซ: แอป
ข้อมูลจำเพาะ:
  ตัวเลือก:
    แอพ: แอพ-blue
  พอร์ต:
    - โปรโตคอล: TCP
      พอร์ต: 80
      พอร์ตเป้าหมาย: 8080

เราเพียงแค่สลับตัวเลือก - แอป: ในบริการ ไปที่การปรับใช้แอปสีน้ำเงินหรือแอปสีเขียวเพื่อสลับไปยังการปรับใช้ใหม่ แต่มักจะพบข้อผิดพลาดเล็กน้อยเมื่อทำเช่นนี้ ใครก็ตามมีความคิดว่าเราคืออะไร ทำผิด?

Sergiusz avatar
lv flag
คุณได้ลองเพิ่ม initialDelay บน readyProbe แล้วหรือยัง?

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา