Infrahq วิธีจัดการการเข้าถึง Kubernetes Cluster

Worawat (Parn) Sittichokpun
Stories of Sellsuki
3 min readDec 14, 2022

Kubernetes ไม่ใช่ platform ที่เรามารถจัดการการเข้าถึงของ User ได้ง่ายนัก ยกเว้น Kubernetes Platform ของเจ้าดังๆ

อย่างเช่น Openshift ที่มี kind: Oauth มาให้เราใช้ได้เลย (https://docs.openshift.com/container-platform/4.11/authentication/identity_providers/configuring-ldap-identity-provider.html)

หรือ EKS ที่มี feature authentication มาให้เราใช้ได้เช่นกัน (https://docs.aws.amazon.com/eks/latest/userguide/cluster-auth.html)

ทีนี้เรามาพูดถึงการ Authentication เข้าสู่ kubernetes cluster แบบปกติกัน (https://kubernetes.io/docs/reference/access-authn-authz/certificate-signing-requests/) จะเห็นว่าการ grant access ให้ใครซักคนนอกจาก admin ค่อนข้างยุ่งยากและต้องทำหลายขั้นตอน (admin จะมี config พ่นออกมาให้ตอนรัน kubeadm init ที่ /etc/kubernetes/admin.conf) ต้องนำ privatekey ไปสร้าง csr (certificate signing request) และอื่นๆ

วันนี้ผู้เขียนก็เลยจะมาแนะนำ tool ตัวใหม่ที่ไปเจอมานั่นคือ infrahq นั่นเองครับ (https://infrahq.com/docs/quickstart) infrahq เป็นเครื่องมือที่ใช้ในการจัดการการเข้าถึง cluster เราได้และมีหน้าตา GUI ให้ดูแบบง่ายๆด้วยครับ อย่างไรก็ตาม project นี้ยังอยู่ในช่วง development อยู่นะครับ

มาลง tool ตัวนี้กันเลยครับ ก่อนอื่นก็เข้าไป sign up ที่ https://signup.infrahq.com/ เลยครับ หลังจากเรียบร้อยแล้วเราจะเข้ามาถึงหน้า GUI หน้าตาแบบนี้

หน้าที่เราเข้าอยู่นี้จะทำหน้าที่แทน infra server ที่เป็นตัวกลางคอยคุม access ของหลายๆ cluster ที่เราจะ install infra connector ไปเชื่อมต่อ cluster นั้นๆเข้ามาหา infra server นะครับ (ทั้งนี้ทั้งนั้น เราก็สามารถ deploy infra server มาใช้งานเองได้เหมือนกันนะครับ https://github.com/infrahq/helm-charts)

หลังจากกดปุ่ม connect to cluster แล้วใส่ชื่อ cluster ให้เรียบร้อย

หลังจากกด next เราจะได้ key สำหรับเชื่อมต่อไปที่ kubernetes cluster ของเรา (access key แต่ละครั้งที่ลง connector จะไม่เหมือนกัน)

ทีนี้เราสามารถรัน helm install ตัว connector ที่ cluster ได้เลยครับ

git clone https://github.com/infrahq/helm-charts.git
cd helm-charts/charts/infra
helm upgrade -i infra-connector . -f values.yaml --set config.name=staging-cluster-1 --set config.accessKey=xxxxx.xxxxxxx

output

result on web

ทีนี้เรามา login เข้า kubernetes cluster ของเรากัน https://infrahq.com/docs/download

ในที่นี้ผู้เขียนให้ macbook จะทำการลงด้วย brew นะครับ

brew install infrahq/tap/infra

หลังจากลง cli tool เรียบร้อบแล้วก็เข้าไปที่หน้า console grant permission ให้ตัวเอง แล้วกด access cluster ได้เลยครับ

on terminal

ที่นี้เราก็สามารถเข้าใช้งาน cluster เราได้ผ่านทาง infrahq ได้แล้วนะครับ และยังสามารถาสร้าง local user หรือผ่าน provider ต่างๆได้เลยครับ ตาม list provider ที่ infrahq support ข้างล่างเลยนะครับ

📢 มาร่วมเป็นส่วนหนึ่งในการทำให้วงการ E-Commerce ขับเคลื่อนไปข้างหน้า ส่งประวัติการทำงานพร้อมตำแหน่งงานที่คุณสนใจมาได้เลยที่อีเมล hr@sellsuki.com หรือเข้าชมเว็บไซต์ของเราที่ https://lnkd.in/gUqNHSEW 🐶

--

--