การแก้ปัญหาแผนภูมิ Helm

แผนภูมิ Helm ของ Tableau Server - การแก้ปัญหา

สำคัญ: เอกสารนี้จัดทำขึ้นสำหรับผู้มีความรู้เกี่ยวกับ Helm และแผนภูมิ Helm และไม่ได้ยกตัวอย่างที่ละเอียดตามแบบแผน เอกสารได้รับการออกแบบมาสำหรับลูกค้าที่คุ้นเคยกับทั้ง Tableau Server และ Helm และแผนภูมิ Helm

บทนำ

หัวข้อนี้จะให้ความช่วยเหลือคุณในการวินิจฉัยและแก้ไขปัญหาทั่วไปเมื่อปรับใช้ Tableau Server บน Kubernetes โดยใช้แผนภูมิ Helm โดยมีเนื้อหาเกี่ยวกับปัญหาการติดตั้ง ปัญหารันไทม์ และเทคนิคการแก้ไขข้อบกพร่อง

ขั้นตอนการแก้ปัญหาทั่วไป

เมื่อประสบปัญหากับ Tableau Server ใน Kubernetes:

  1. ตรวจสอบสถานะและเหตุการณ์ของพ็อด
  2. ตรวจสอบบันทึกคอนเทนเนอร์
  3. ตรวจสอบความพร้อมใช้งานของทรัพยากร
  4. ตรวจสอบการอ้างสิทธิ์โวลุ่มถาวร
  5. ตรวจสอบสถานะรุ่นของ Helm
  6. ตรวจสอบบริการและการเชื่อมต่อเครือข่าย

พ็อดไม่เริ่มทำงาน

  1. ตรวจสอบสถานะพ็อด:

    kubectl get pods -l app.kubernetes.io/instance=tableau-server
    kubectl describe pod <pod-name>
  2. ตรวจสอบบันทึก:

    kubectl logs <pod-name>
  3. ตรวจสอบเหตุการณ์:

    kubectl get events --sort-by='.lastTimestamp'

ปัญหาเกี่ยวกับโวลุ่มถาวร

  1. ตรวจสอบสถานะ PVC:

    kubectl get pvc
    kubectl describe pvc <pvc-name>
  2. ตรวจสอบคลาสพื้นที่เก็บข้อมูล:

    kubectl get storageclass

ปัญหาเกี่ยวกับคีย์ใบอนุญาต

  1. ตรวจสอบว่าได้ตั้งค่าคีย์ใบอนุญาต:

    kubectl get secret tableau-server-secrets -o 
    jsonpath='{.data.LICENSE_KEY}' | base64 -d
  2. อัปเดตคีย์ใบอนุญาต:

    # Edit values.yaml and upgrade
    helm upgrade tableau-server ./helm/tableau-server -f ./helm/tableau-server/values.yaml

การตรวจสอบสถานะล้มเหลว

  1. ตรวจสอบสคริปต์การตรวจสอบสถานะ:

    kubectl exec <pod-name> -- /docker/alive-check
    kubectl exec <pod-name> -- /docker/server-ready-check
  2. ปรับเวลาการตรวจสอบสถานะ:

    healthChecks:
    liveness:
    initialDelaySeconds: 600 # Increase if server takes longer to start

ปัญหาเกี่ยวกับ Bootstrap แบบหลายโหนด

  1. ตรวจสอบโวลุ่ม Bootstrap:

    kubectl get pvc | grep bootstrap
  2. ตรวจสอบไฟล์ Bootstrap:

    kubectl exec <primary-pod> -- ls -la /docker/config/bootstrap
  3. ตรวจสอบโหมดการเข้าถึง ReadWriteMany:

    persistence:
    bootstrap:
    accessMode: ReadWriteMany # Required for multi-node

     

  4. ตรวจสอบการผูก Bootstrap PV/PVC สำหรับการจัดสรร EFS แบบคงที่:

    kubectl get pv tableau-bootstrap-pv
    kubectl get pvc -n default tableau-server-bootstrap
    kubectl describe pv tableau-bootstrap-pv
    kubectl describe pvc -n default tableau-server-bootstrap
  5. หากการติดตั้งล้มเหลวหลังจากผูก PVC ให้ตรวจสอบข้อผิดพลาด EFS CSI/IAM:

    kubectl describe pod -n default tableau-server-primary-0
    kubectl get events -n default --sort-by='.lastTimestamp'
  6. ข้อผิดพลาด driver name efs.csi.aws.com not found:

    ติดตั้งและตรวจสอบส่วนเสริม EKS ตามที่อธิบายไว้ในข้อกำหนดเบื้องต้นของ Amazon Elastic Kubernetes Service (EKS).

  7. แก้ไขการตรวจสอบสิทธิ์ DescribeMountTargets ล้มเหลว

    • วิธีที่แนะนำ:

      aws iam attach-role-policy \
      --role-name <your-node-instance-role> \
      --policy-arn
      arn:aws:iam::aws:policy/AmazonElasticFileSystemClientReadWriteAccess

      จากนั้นรีสตาร์ทพ็อดที่ได้รับผลกระทบ (โหนดหลักและโหนดตัวดำเนินการทั้งหมด ระบบจะเลือกตัวดำเนินการตามป้ายกำกับ ดังนั้นจึงครอบคลุมจำนวนการจำลอง

    • วิธีการสำรอง

      บังคับให้ติดตั้ง IP เป้าหมายในการกำหนดค่า Bootstrap PV:

      ตั้งค่า persistence.bootstrap.pv.csi.volumeAttributes.mounttargetip (หรือ PV ด้วยตนเอง volumeAttributes.mounttargetip) และนำไปใช้ใหม่อีกครั้ง/อัปเกรด

แหล่งข้อมูลเพิ่มเติม