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

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

หัวข้อนี้อธิบายขั้นตอนที่คุณต้องทำก่อนติดตั้ง 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 โดยทั่วไปเครื่องนี้จะเป็นเครื่องเดสก์ท็อปที่มีสิทธิ์เข้าถึง Kubernetes VM

คุณต้องติดตั้งยูทิลิตีต่อไปนี้บนเครื่องดูแลระบบ 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

    ที่ไหน

    • 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. ติดตั้งตัวควบคุม NGINX Ingress ในคลัสเตอร์ ดูให้แน่ใจว่าไม่มีตัวควบคุม Nginix อื่นทำงานอยู่ ซึ่งตรวจสอบได้โดยเรียกใช้ kubectl get pods

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

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

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

    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. เมื่อข้อมูลขาเข้าทำงานแล้ว คุณสามารถยกเลิกคำสั่งข้างต้นได้โดยพิมพ์ 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 แล้ว