ข้อกำหนดเบื้องต้นสำหรับการผสานรวม 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

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

    where:

    • 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 จะแทรก Microgateway ของ Edge ลงใน 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. ติดตั้ง NGINX Ingress Controller ในคลัสเตอร์ ตรวจสอบว่าไม่มีตัวควบคุม Nginix อื่นทำงานอยู่ คุณสามารถตรวจสอบได้โดยเรียกใช้ 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 แล้ว