-
Nutanix Data Service for Kubernetes (NDK) เป็น service ที่ติดตั้งบน Kubernetes Cluster เพื่อทำการ backup application และ replicate ข้อมูลที่ถูก backup ไปยัง Kubernetes cluster ปลายทาง เพื่อให้สามารถ recovery ทั้ง application และข้อมูลได้ โดยใช้กับ use case เช่นการทำ DR โดยการ replicate ข้อมูลไปยังปลายทางมากกว่าหนึ่งปลายทาง การย้าย Application (Application migration) หรือ rebalancing application ไปยัง cluster ที่มี resource ที่เหมาะสม การ snapshots และ restore ภายใน cluster โดยสามารสร้าง schedule
-
ในการ upgrade นี้จะใช้วิธีแบบ air gapped โดยต้อง download bundle จาก nutanix portal ด้วยการ copy Download link ของ NKP Airgapped Bundle (Version v2.15.0) ใช้ curl ในการ download หรือ tools อื่น หรือจะ click download ก็ได้ ตัวอย่างนี้จะใช้ curl ทำการ unzip file ที่ download มา push kommander container ซึ่งเป็นระบบจัดการ (nkp management) การใช้งานต่างๆ ของ NKP ไปยัง harbor internal registry push nkp
-
การออกกใบรับรอง Digital Certificate จะออกโดย Certificate Authority (CA) ซึ่งเป็นหน่วยงานกลางที่ได้รับความน่าเชื่อถือ เช่น GlobalSign, DigiCert, GoDaddy, Let’s Encrypt หรือถ้าหน่วยงานที่มี Certificate Server ภายในไว้ออก digital certificate โดยมี Certificate Server เช่น Microsoft Certificate Services (Windows Server), Hashicorp Vault เป็นต้น รูปแบบของ Certificate จะแบ่งเป็นลำดับชั้น (Chain) ดังนี้ Root CA เป็น Top-level ของ Certificate hierarchy สำหรับ Public Key Infrastructure (PKI) มีความน่าเชื่อถือสูง และมักถูกเก็บไว้แบบ offline เพื่อความปลอดภัย เช่น trust
-
ทำการ enable velero ที่ nkp dashboard เนื่องจาก velero ต้องการ s3 storage เพื่อเก็บข้อมูล backup จึงต้อง enable rookceph และ rookceph cluster โดยจะต้องรอจนกว่าจะ running สมบูรณ์ก่อนจะ enable velero เพิ่ม custom config เพื่อให้ Velero สามารถ backup persistent volume ได้ ข้อมูล custom configuration ต้องการ s3 bucket และ secret key เพื่อ connect ไปยัง s3 bucket โดยสร้าง secret key ได้ตามตัวอย่างดังนี้ หลังจาก enable แล้วตรวจสอบว่า
-
เตรียม nkp service user โดยเข้าไปที่เมนู Active Directory Users and Computers Click Users เลือก New และ User ตั้งชื่อ ตัวอย่างนี้ใช้ nkpsvc หลังจากสร้าง user ใหม่แล้วเก็บ DN ไว้สำหรับใช้ในการ setup ใน NKP โดย click ที่ user เลือก Advanced Feature click ที่ nkpsvc และเลือก Properties click เลือก Attribute Editor และ copy ค่า distinguishedName สำหรับใช้ในการ config ที่ nkp เปิดหน้า nkp-dashboard และเข้าไปที่เมนู Identity
-
ขั้นตอนการติดตั้ง NKP ระบบจะสร้าง kubernetes ชั่วคราวสำหรับการติดตั้งเฉพาะ (bootstrap cluster) โดยจะ load package ที่จำเป็นคือ cluster-api ทำงานใน kubernetes ชั่วคราว อยู่ภายใต้ package ที่ชื่อว่า convoy โดย cluster-api จะสร้าง nkp management cluster ที่ infra platform ปลายทางจากข้อมูลที่ได้จาก NKP cli cluster-api เป็น controller ที่ทำงานบน kubernetes ทำ infra auto provisioning ไปยัง platform ต่างๆ เนื่องจากการ provision kubernetes บน platform ที่แตกต่างกันจะต้องอาศัย api ที่แตกต่างกัน การใช้ kubernetes api จึงเป็นวิธีการที่ทำให้ไม่ว่า
-
Harbor เป็น container registry ที่ได้รับความนิยมมากในปัจจุบัน เนื่องจากมีความสามารถที่ช่วยให้เก็บ container image ไว้ภายในองค์กรแล้วยังมีความสามารถอื่นๆ เช่น การทำ proxy ไปยัง container registry ภายนอกเช่น docker hub เพื่อลดจำนวน request ไม่ให้ติดปัญหา request limit ของ docker hub การทำ replication ระหว่าง Harbor ด้วยกันกรณี DC/DR use case และ integrate กับ container scanning เช่น Trivy, Clair และ Notary สำหรับการทำ image signed เพื่อป้องกันการแก้ไขเปลี่ยนแปลง image ในการติดตั้ง Harbor ต้องการ Docker และ Docker
-
แนวทางเบื้องต้นเพื่อใช้ในการ Sizing ขนาดของ Kubernetes Cluster สำหรับ Application ใช้งานใน Kubernetes Environment สามารถใช้แนวทางดังนี้ในการพิจารณา ต้องพิจารณาปัจจัยหลักๆ ประกอบด้วย 4 ปัจจัยคือ Pods per node density คือจำนวนของ Pod ซึ่งเป็น deployable unit (containers) ที่สามารถทำงานได้ต่อหนึ่งเครื่อง (Node) โดยเราต้องมีข้อมูล จากนั้นก็จะสามารถหาค่า pod per node density ได้จากการหาว่ามี vCPU สำหรับใช้ได้จริงเท่าไหร่ แล้ว หารด้วยค่าเฉลี่ยของ vCPU ที่ pod ใช้งาน เช่น Node VM มี 8 vCPU และต้องการ reserve vCPU ไว้ 15% สำหรับ system
-
kind เป็น tool ตัวหนึ่งที่น่าสนใจสำหรับ run Kubernetes อยู่ที่เครื่องเราเองโดยใช้ Docker container เป็น nodes ของ Kubernetes ข้อดีคือจัดการง่ายและทำงานได้เร็ว ถ้าต้องใช้ script เพื่อสร้าง cluster เพื่อทำ integration test แล้ว tool ตัวนี้ตอบโจทย์ได้ดีทีเดียว ติดตั้งเพื่อใช้งานทำได้ตาม quick start ตัวอย่าง command ต่าง ๆ สำหรับใช้งาน kind สร้าง cluster ที่มี Master และ Worker จำนวน 1 node สร้าง cluster ที่มี Master และ Work อย่างละ Node จาก configuration file สร้าง cluster ที่มี Master จำนวน
