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) และอื่น ๆ
วันนี้ทาง Sellsuki ก็เลยจะมาแนะนำ 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
ทีนี้เรามา login เข้า kubernetes cluster ของเรากัน https://infrahq.com/docs/download
ในที่นี้ผู้เขียนให้ macbook จะทำการลงด้วย brew นะ
brew install infrahq/tap/infra
หลังจากลง cli tool เรียบร้อบแล้วก็เข้าไปที่หน้า console grant permission ให้ตัวเอง แล้วกด access cluster ได้เลย
ที่นี้เราก็สามารถเข้าใช้งาน cluster เราได้ผ่านทาง infrahq ได้แล้วนะ และยังสามารถาสร้าง local user หรือผ่าน provider ต่าง ๆ ได้เลย ตาม list provider ที่ infrahq support ข้างล่างเลยนะ
หากชอบเทคนิคหรือเคล็บลับ Tools เด็ด ๆ แบบนี้อย่าลืมกดติดตามน้องสุกิผ่านช่องทางเหล่านี้ด้วยน้า