ข้อกำหนดเบื้องต้นสำหรับการผสานรวม Kubernetes

คุณกำลังดูเอกสารประกอบของ Apigee Edge
ไปที่ เอกสารประกอบของ Apigee X.
info

หัวข้อนี้อธิบายขั้นตอนที่คุณต้องทำก่อนติดตั้ง Edge Microgateway เป็น บริการ ในคลัสเตอร์ Kubernetes

หัวข้อนี้จะกล่าวถึงสิ่งต่อไปนี้

  • ข้อกำหนดขั้นต่ำสำหรับคลัสเตอร์ Kubernetes
  • วิธีติดตั้งและกำหนดค่า Edge Microgateway
  • วิธีติดตั้งการกำหนดค่าพื้นฐานของ Edge Microgateway ลงในคลัสเตอร์ Kubernetes

ข้อกำหนดสำหรับคลัสเตอร์ Kubernetes

คลัสเตอร์ Kubernetes ต้องมีสิ่งต่อไปนี้

  • Kubernetes เวอร์ชัน 1.9 ขึ้นไป
  • Kubernetes CLI kubectl v1.9 ขึ้นไป
  • คลัสเตอร์ที่มีโหนดอย่างน้อย 3 โหนด โดยแต่ละโหนดมี vCPU 2 รายการ

ตัวอย่าง: การสร้างคลัสเตอร์ Kubernetes บน Google Kubernetes Engine (GKE)

ตั้งค่าเครื่องจัดการ Kubernetes

เครื่องจัดการ Kubernetes คือเครื่องในเครื่องที่คุณใช้เรียกใช้คำสั่งกับคลัสเตอร์ Kubernetes โดยปกติแล้วเครื่องนี้จะเป็นเครื่องเดสก์ท็อปที่มีสิทธิ์เข้าถึง VM ของ Kubernetes

คุณต้องติดตั้งยูทิลิตี้ต่อไปนี้ในเครื่องจัดการ Kubernetes

  • ติดตั้งอินเทอร์เฟซบรรทัดคำสั่ง kubectl เวอร์ชัน 1.9 ขึ้นไป

  • (GKE เท่านั้น) ติดตั้ง gcloud หากคุณเรียกใช้ Kubernetes บน GKE

สร้างคลัสเตอร์ Kubernetes บน GKE

  1. เข้าสู่ระบบแดชบอร์ด Google Kubernetes Engine (GKE) บน Google Cloud Platform (GCP)
  2. คลิกสร้างคลัสเตอร์
  3. เลือกคลัสเตอร์มาตรฐาน
  4. ป้อนชื่อคลัสเตอร์
  5. เลือกโซน
  6. เลือก Cluster Version 1.9.7-gke-* เช่น 1.9.7-gke.6
  7. เลือกขนาด 3 โหนด
  8. เลือก vCPU 2 รายการที่มีหน่วยความจำ 7.5 GB
  9. คลิกสร้าง

    ภาพหน้าจอต่อไปนี้แสดงแดชบอร์ด GKE ที่กรอกข้อมูลตามที่อธิบายไว้ในขั้นตอนก่อนหน้า

    แดชบอร์ด GKE

รับข้อมูลเข้าสู่ระบบของคลัสเตอร์

  1. ตั้งชื่อโปรเจ็กต์ GKE ดังนี้

    gcloud config set project projectName
  2. ตั้งโซนโปรเจ็กต์ GKE ดังนี้

    gcloud config set compute/zone zoneName
  3. รับข้อมูลเข้าสู่ระบบ gcloud container ดังนี้

    gcloud container clusters get-credentials cluster-name --zone zone --project project-name

    โดยที่

    • cluster-name คือชื่อคลัสเตอร์ Kubernetes ที่คุณสร้างขึ้น
    • zone คือโซนที่คลัสเตอร์ของคุณอยู่
    • project-name คือชื่อโปรเจ็กต์ GCP

    เช่น

    gcloud container clusters get-credentials edgemicrogateway-cluster --zone us-central1-a --project edgemicro-project
  4. เรียกใช้คำสั่งต่อไปนี้ตามที่แสดงทุกประการ คำสั่งนี้จะให้สิทธิ์ผู้ดูแลระบบคลัสเตอร์แก่ผู้ใช้ปัจจุบัน คุณต้องมีสิทธิ์ผู้ดูแลระบบเพื่อสร้างกฎ RBAC ที่จำเป็นสำหรับบริการ Edge Microgateway

    kubectl create clusterrolebinding cluster-admin-binding --clusterrole=cluster-admin --user=$(gcloud config get-value core/account)
    

ติดตั้ง Edge Microgateway สำหรับ Kubernetes

  1. ดาวน์โหลด Edge Microgateway สำหรับ Kubernetes หากใช้เครื่อง MacOS หรือ Linux คุณสามารถดาวน์โหลดเวอร์ชันล่าสุดหรือเวอร์ชันที่ต้องการได้โดยระบุชื่อเวอร์ชัน

    วิธีรับเวอร์ชันล่าสุด

    curl -L https://raw.githubusercontent.com/apigee-internal/microgateway/master/kubernetes/release/downloadEdgeMicrok8s.sh | sh -

    วิธีรับเวอร์ชันที่ต้องการตามหมายเลขเวอร์ชัน โปรดทราบว่าหมายเลขเวอร์ชันต้องขึ้นต้นด้วยตัวอักษร "v" เช่น v3.0.2

    curl -L https://raw.githubusercontent.com/apigee-internal/microgateway/master/kubernetes/release/downloadEdgeMicrok8s.sh | sh -s  version

    เช่น

    curl -L https://raw.githubusercontent.com/apigee-internal/microgateway/master/kubernetes/release/downloadEdgeMicrok8s.sh | sh -s v3.0.2
  2. เปลี่ยนไดเรกทอรีเป็นไดเรกทอรีการติดตั้ง microgateway_Version_OS_ARCH เช่น

    cd microgateway_2.5.26_Darwin_x86_64
  3. ตรวจสอบไดเรกทอรีการติดตั้ง

    • /install/kubernetes - ไฟล์ .yaml การกำหนดค่าสำหรับการติดตั้งใช้งานกับ Kubernetes
    • /samples - แอปพลิเคชันตัวอย่างสำหรับการทดสอบการติดตั้ง
    • /bin - ไฟล์ปฏิบัติการ edgemicroctl คำสั่ง edgemicroctl จะแทรก Edge Microgateway ลงใน Kubernetes
  4. เพิ่มไคลเอ็นต์ edgemicroctl ลงใน PATH เช่น เรียกใช้คำสั่งต่อไปนี้ในระบบ MacOS หรือ Linux

    export PATH=$PWD/bin:$PATH
  5. ใช้การตั้งค่าพื้นฐานของ Edge Microgateway กับคลัสเตอร์ Kubernetes คำสั่งต่อไปนี้จะสร้างเนมสเปซ edgemicro-system และบทบาทคลัสเตอร์

    kubectl apply -f install/kubernetes/edgemicro.yaml
  6. ติดตั้งตัวควบคุม Ingress ของ NGINX ลงในคลัสเตอร์ ตรวจสอบว่าไม่มีตัวควบคุม Nginx อื่นทำงานอยู่ คุณสามารถตรวจสอบได้โดยเรียกใช้ kubectl get pods

    kubectl apply -f install/kubernetes/edgemicro-nginx-gke.yaml

ยืนยันการติดตั้ง

  1. หากต้องการตรวจสอบว่าตัวควบคุม Ingress เริ่มทำงานแล้ว ให้เรียกใช้คำสั่งต่อไปนี้

    kubectl get pods --all-namespaces -l app=edgemicro-ingress --watch

    ดังที่เอาต์พุตตัวอย่างต่อไปนี้แสดงให้เห็นว่ากระบวนการจะใช้เวลา 1-2 นาทีจึงจะเริ่มทำงาน คุณอาจเห็นรอบการเกิดข้อผิดพลาดและการรีสตาร์ทหลายครั้งก่อนที่ STATUS จะเปลี่ยนเป็น Running ซึ่งเป็นเรื่องปกติ

    NAMESPACE          NAME                                            READY     STATUS             RESTARTS   AGE
    edgemicro-system   edgemicro-ingress-controller-64444469bf-wjhrn   0/1       CrashLoopBackOff   1          33s
    edgemicro-system   edgemicro-ingress-controller-64444469bf-wjhrn   0/1       Error              2          33s
    edgemicro-system   edgemicro-ingress-controller-64444469bf-wjhrn   0/1       CrashLoopBackOff   2          40s
    edgemicro-system   edgemicro-ingress-controller-64444469bf-wjhrn   0/1       Running            3          1m
    edgemicro-system   edgemicro-ingress-controller-64444469bf-wjhrn   1/1       Running            3          1m
    
  2. เมื่อ Ingress ทำงานแล้ว คุณสามารถยกเลิกคำสั่งด้านบนได้โดยพิมพ์ Ctrl+C

  3. เรียกใช้คำสั่งนี้เพื่อตรวจสอบว่าได้ติดตั้งใช้งานบริการ Kubernetes แล้ว คุณควรเห็นเอาต์พุตที่คล้ายกับเอาต์พุตตัวอย่างที่แสดงด้านล่าง

    kubectl get svc -n edgemicro-system
    

    ตัวอย่างเอาต์พุต

    NAME                        TYPE           CLUSTER-IP     EXTERNAL-IP    PORT(S)                     AGE
    default-http-backend        ClusterIP      10.19.255.106  <none>         80/TCP                       2h
    edgemicro-ingress           LoadBalancer   10.19.247.156  35.224.24.13   80:30176/TCP,443:32325/TCP   2h
    
  4. ยืนยันว่าพ็อดทั้งหมดทำงานอยู่

    kubectl get pods -n edgemicro-system
    

    ตัวอย่างเอาต์พุต

    NAME                                            READY     STATUS    RESTARTS   AGE
    default-http-backend-55c6c69b88-2lvtw           1/1       Running   0          4m
    edgemicro-ingress-controller-64444469bf-wjhrn   1/1       Running   3          4m
    

ติดตั้ง Edge Microgateway

  1. คุณต้องติดตั้ง Edge Microgateway เวอร์ชัน 2.5.26 ขึ้นไป โดยตรวจสอบได้ด้วยการป้อนคำสั่งต่อไปนี้

    edgemicro --version
  2. หากยังไม่ได้ติดตั้ง Edge Microgateway เวอร์ชัน 2.5.26 ขึ้นไป ให้เรียกใช้สคริปต์การติดตั้ง

    npm install edgemicro -g
  3. หากเพิ่งติดตั้ง Edge Microgateway เป็นครั้งแรกหรืออัปเกรด ให้เรียกใช้คำสั่งต่อไปนี้

    edgemicro init

    หากต้องการความช่วยเหลือเพิ่มเติม โปรดดู การติดตั้ง Edge Microgateway

ขั้นตอนถัดไป

ตอนนี้คุณพร้อมที่จะติดตั้งใช้งาน Edge Microgateway กับ Kubernetes แล้ว