Sign in

นายช่างระบบระบบคอมพิวเตอร์ทั้วๆ ที่ชอบทดลอง และเรียนรู้สิ่งใหม่ไปเรื่อยๆ

หลังจากที่ได้ที่ได้เล่น vSphere with Tanzu เวอร์ชั่นล่าสุดบน vCenter และ vSphere 7.0 U2 แล้วที่รองรับ NSX ALB (Avi) แล้ว คราวนี้ก็มาถึงเรื่องหนึ่งนอกจากที่เราจะใช้ Service ที่เป็น LoadBalancer ยังมีอีก Service หนึ่งที่นิยมใช้งานกันนั้นก็คือ Service แบบ Ingress นั้นเอง ซึ่ง Service แบบ Ingress ก็มีมากมายให้เราเลือกใช้งานไม่ว่าจะเป็น NGINX Ingress Controller ที่ดูแลโดย Google, NGINX Ingress Controller for Kubernetes ที่ดูแลโดย NGINX Inc. เอง หรือจะเป็นอีกตัวที่นิยมกันที่ชื่อ Traefik Kubernetes Ingress แต่คราวนี้บน Tanzu เราใช้ Avi มาจัดการในเรื่อง LoadBalancer แล้วก็มาลองใช้งานฟังก์ Ingress Controller จากทาง Avi ดูกันดีกว่าจะเป็นอย่างไรบ้าง โดยฟังก์ชั่นนี้จะมีชื่อว่า Avi Kubernetes Operator หรือชื่อย่อเป็น AKO นั้นเอง


เมื่อไม่กี่เดือนที่ผ่านทาง VMware ได้มีการอัพเดตตัว vSphere และ vCenter เป็นเวอร์ชั่น 7.0 u2 ซึ่งก็ได้มีการอัพเดตอะไรใหม่ๆ เข้ามาหลายอย่างมากหนึ่งในนั้นก็คือ vSphere with Tanzu รองรับการใช้งาน Avi Network ซึ่งในตอนนี้ก็จะรองรับ 3 ตัวแล้วนั้นก็คือ NSX-T, HAproxy และ NSX ALB (Avi) นั้นเอง

เราทำมาทำความรู้จัก Avi Networks กันเบื้องต้นก่อนดีกว่า Avi Networks นั้นเป็นผู้พัฒนาระบบ Multi-cloud Application Delivery Services ซึ่ง VMware ได้ซื้อเข้ามาร่วมกับทีม VMware NSX ซึ่งใน Service ตัวหนึ่งที่เราจะนำมาใช้งานบน vSphere with Tanzu นั้นก็คือ Software Load Balancer โดยตอนนี้ทาง VMware จะเรียกว่า NSX Advance Load Balancer หรือ ALB นั้นเอง

ในบนความนี้เราจะมาลองใช้งาน ALB แทน HAproxy กันดูว่าจะเป็นยังไงบ้างโดย Environment ในแล็ปก็จะเป็นดังนี้

  1. vSphere 7.0 u2
  2. vCenter 7.0 u2

โดยจะมี Network Diagram ดังรูปต่อไปนี้

  1. Front Network (172.17.37.0/24) ใช้สำหรับ ขา VIP จาก Load Balancer เพื่อให้สามารถเรียกเข้าใช้งาน Service ต่างๆ ได้
  2. Workload Network (172.17.36.0/24) ใช้สำหรับขา Data ของ VMs…


เรื่องมีอยู่ว่าลูกค้ามี PHP Web Application อยู่หลัง nginx และแถมยังมี Load Balancer อีกโดยทั้งหมดอยู่บน GCP โดยมี Architecture ตามรูปด้านล่าง


หลังจากที่ได้เล่น VMware vSphere with Tanzu กันไปในระดับหนึ่งแล้วส่วนใหญ่เอาใช้ Container Registry จาก Public Cloud หรือจะ Private แบบเสียเงินก็มี ที่นี้เราก็มาลองทำ Container Registry ไว้ใช้งานเอาภายใน On-Premises ด้วย Harbor กันดีกว่า

Harbor คืออะไร

เป็นโครงการ Open Source สำหรับทำ Container Registry โดยตัวมันเองมันความสามารถหลายอย่างไม่ว่าจะเป็น role-based access control หรือจะเป็นสแกน Container Images หาช่องโว่ความปลอดภัย หรือจะเป็นรองรับการ Replicate ไปไว้ Container Registry อีกที่ก็ยังได้ เป็นต้น

การติดตั้งก็ง่ายได้ ว่าแล้วเราก็ลงมือทำกันเถอะ

เตรียม VMs

ในส่วนนี้จะเป็นการเตรียม VM สำหรับติดตัง Harbor โดยในตัวอย่างจะใช้เป็น Photon OS จากทาง VMware

ขั้นตอนที่ 1 — Download OVF VMware Photon 3.0 Rev 3 https://github.com/vmware/photon/wiki/Downloading-Photon-OS


จากคราวที่แล้ว [บันทึกช่วยจำ] ลองเล่น VMware vSphere with Tanzu with HAProxy ต่อที่ 1 เราได้ทำการตั้งค่าต่างๆ เพื่อเปิดใช้งาน vSphere with Tanzu ขึ้นมาใช้งานเรียบร้อย ต่อไปเราก็จะมาลองใช้งานดูบ้างว่าจะยาก หรือง่ายขนาดไหน เราไปลองกันเลย


หลังจากที่ได้ลองเล่นทำ LAB กับ VMware vSphere with Tanzu ได้ประมาณ 1 เดือน วันนี้จะมาแชร์วิธีการ Setup และการใช้งานเบื้องต้น เผื่อที่จะได้เป็นแนวทางให้กับผู้ที่หลงเข้ามาอ่านนำไปลองทำกันดูครับ

แต่ก่อนที่จะไปเริ่มกันก็มาทำความรู้จักกับ VMware vSphere with Tanzu คืออะไรกันก่อนดีกว่า


เมื่อก่อนหน้านี้ไม่กี่ปีที่ผ่านมีเรามักจะได้ยินคำว่า DevOps มาไม่มากก็น้อย ซึ่งหลายๆ องค์ก็ต้องการบุคลากรในส่วนนี้เข้ามาเสริมทัพเพื่อให้การพัฒนาซอฟแวร์ให้มีประสิทธิภาพที่ดีขึ้น แต่ ณ. ตอนนี้ก็ได้มีคำใหม่ที่เพิ่งจะได้ยินมาได้ไม่ได้นานนี้เองนั้นก็คือ DevSecOps ซึ่งนั้นก็คือเป็นการเพิ่มในมุมของความปลอดภายเพิ่มเข้ามาในทุกๆ ขั้นตอนการพัฒนาซอฟแวร์ เพื่อให้ซอฟแวร์ของเรานั้นมีคุณภาพ และปลอดกับผู้ใช้งานระบบด้วย


จากเดือนกันยายน 2563 นี้ Service GCP ต่างๆ เกิดปัญหาติดๆ กันหลายครั้งทำให้ปวดหัวกันหลายๆ คนแน่นอน และในช่วงที่เกิดเหตุบ้างคนกว่าจะรู้ว่ามีปัญหาก็ต้องเข้าไปดูหน้าเว็บ Google Cloud Status Dashboard หรือไม่ก็โดนลูกค้าแจ้งมา แน่นอนละลูกค้าแจ้งมานี้โดนด่าไปก่อนแล้ว บนหน้า ก็มีแต่ Google Cloud Status Dashboard RSS Feed จะเข้าหน้าเว็บมาดูตลอดเวลาก็น่าจะไม่เหมาะ จะดีกว่าไหมถ้าเรามีระบบสักระบบแจ้งผ่าน Line, Slack หรืออีเมล์ได้ อย่างน้อยก็อัพเดตตามหน้า Google Cloud Status Dashboard ได้ทันทีเลย


จากครั้งที่เราทดลองใช้งาน NGINX Ingress บน K8S Cluster แล้ว เรามาลองใช้งาน Traefix ดูบ้างว่าการใช้งานจะแตกต่างกันมากน้อยขนาดไหน ซึ่งผู้เขียนเองก็ได้เคยใช้งานเจ้า Traefix มาแล้วแต่ใช้งานอยู่ Swarm Cluster ก็ต้องบอกเลยว่าสะดวกสบายมากๆ ในการจัดการบริหาร service ต่างๆ

ซึ่งเจ้า Traefix นั้น Open-Source ประเภท Edge Router ทำหน้าที่จัดการเมื่อมีการเรียกใช้งานจากหน้าบ้าน ว่าเมื่อมีการเรียกแบบนี้ต้องวิ่งไปหา service ตัวไหน หรือมีการจัดการ header อะไรเพิ่มเติมหรือเปล่าเป็นต้น


ครั้งนี้เรามาต่อยอดจากครั้งที่แล้วจากเรื่อง [บันทึกช่วยจำ] ลองเล่น Terraform + Kubespray + Ansible = K8S Cluster บน VMware โดยที่เราจะลองใช้งาน NGINX มาใช้งานเป็น Ingress บน Service กัน

Kritsadanshon Sadeewong

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store