လိုအပ်ရင် ကိုယ်တိုင်ပြန်သုံးဖို့ရော လိုအပ်တဲ့သူတွေရော သုံးနိုင်ဖို့ ဒီနေ့ argocd မှာ user တွေ role တွေသတ်မှတ်ပုံကို ကျွန်တော် သိသလောက်ရေးလိုက်ပါတယ်။ ArgoCD ဆိုတာ Kubernetes ပေါ်မှာ GitOps အတွက်သုံးတဲ့ Continuous Delivery Tool တစ်ခု ဖြစ်ပါတယ်။ ပုံမှန်ဆိုရင် argocd server မှာ admin user ကို default ထည့်ပေးလိုက်ပါတယ်။ တစ်ခြား user တွေထပ်ထည့်ချင်တယ်ဆိုရင်တော့ UI ကနေ လုပ်လို့ရတဲ့ feature မပါပါဘူး။
argocd namespace ထဲမှာရှိတဲ့ configmap တွေကို list လုပ်ကြည့်လိုက်ပါ။
1kubectl get cm -n argocdအဲ့ထဲကမှ argocd-cm နဲ့ argocd-rbac-cm တို့က role နဲ့ policy တွေ သတ်မှတ်ပေးရမယ့် configmap တွေဖြစ်ကြတယ်။ အရင်ဆုံး အောက်ပါအတိုင်း configmap တွေကို yaml အဖြစ်သိမ်းထားလိုက်ပါ။
1kubectl get cm argocd-cm -n=argocd -o yaml > argocd-cm.yaml
2kubectl get cm argocd-rbac-cm -n=argocd -o yaml > argocd-rbac-cm.yamlCreate ArgoCD Accounts
ပြီးရင်တော့ ကိုယ်ထည့်ချင်တဲ့ users တွေကို argocd-cm.yaml မှာ အောက်ကလိုထည့်လိုက်ပါ။
1apiVersion: v1
2data:
3 accounts.minko: login
4 accounts.wailwin: login
5kind: ConfigMapဒါဆိုရင် kubectl apply နဲ့ configmap ကို update ပေးလိုက်ပါ။
1kubectl apply -f argocd-cm.yamlAttach RBAC Role
နောက်တစ်ဆင့်ကတော့ role တွေသတ်မှတ်ပီး attach လုပ်ပေးဖို့အတွက် argocd-rbac-cm ကို ပြင်ပေးဖို့လိုပါတယ်။ ပုံမှန်တော့ readwrite, readonly, readexecute ဆိုတဲ့ role တွေကအသုံးများပြီး အဲ့ထဲမှ RW, RO တို့နဲ့စမ်းပြလိုက်ပါတယ်။
1apiVersion: v1
2data:
3 policy.csv: |
4 p, role:readwrite-user, applications, get, *, allow
5 p, role:readwrite-user, applications, sync, *, allow
6 p, role:readwrite-user, applications, create, *, allow
7 p, role:readwrite-user, applications, update, *, allow
8 p, role:readwrite-user, applications, delete, *, allow
9 p, role:readwrite-user, applications, patch, *, allow
10 p, role:readwrite-user, applications, rollback, *, allow
11 p, role:readwrite-user, applications, terminate, *, allow
12 p, role:readonly-user, applications, get, *, allow
13 p, role:readonly-user, applications, sync, *, allow
14 g, minko, role:readwrite-user
15 g, wailwin, role:readonly-user
16kind: ConfigMapကျွန်တော်ကတော့ argocd project အကုန်လုံးကို wildcard ပေးထားတာမလို့ ဖတ်ရတာ ရိုးရှင်းနိုင်ပါတယ်။ တကယ်လို့ project တစ်ချို့ကိုပဲ permission ပေးဖို့လိုအပ်လာရင်တော့ project_name/app_name စသည်ဖြင့်သတ်ဆိုင်ရာ applications တွေကိုပဲ assign ချနိုင်ပါတယ်။
နောက်ဆုံးအဆင့်ကတော့ user တွေအတွက် password သတ်မှတ်ပေးရပါမယ်။ argocd binary ကို download ပီး login ဝင်ပေးရပါမယ်။
Create Password For User Accounts
1argocd login argocd.mydomain.com:443 --skip-test-tls --grpc-web --username admin --password *************login ပြီးပြီဆိုရင်တော့ မိမိတို့ သတ်မှတ်ပေးချင်တဲ့ user ကို password အသစ်လုပ်ပေးလိုက်ပါ။ current-password နေရာမှာ admin password ကိုပဲသုံးပါ။
1argocd account update-password --account minko --current-password ***** --new-password ******ဒါဆို argocd server မှာ user အသစ်တွေနဲ့ login လို့ရပါပြီ။ အားလုံးကို ကျေးဇူးတင်ပါတယ်ခင်ဗျာ
Discussion
Join the conversation
How do you feel about this article?
Comments
Sign in to join the conversation
Sign in to be the first to comment!
Share Your Article
Share with your professional network
Recent Articles

AWS - Application Load Balancer
Elastic Load Balancing (ELB) ELB ဆိုတာကတော့ request တွေကို တစ်နေရာတည်းမှ လက်ခံကာ Amazon EC2 instances၊ containers, etc.....

Terraform Day 3: Benefits of Terraform State
Terraform ကိုလေ့လာ တဲ့အခါ ကျွန််တော်တို့ရဲ့ Project Folder ထဲမှာ terraform.tfstate ဆိုတဲ့ ဖိုင်လေးကို တွေ့ဖူးကြပါလိမ့်မယ...

Terraform Day 2: Essential IaC Principles You Must Know
မနေ့ကတော့ Terraform အကြောင်း အကြမ်းဖျင်း Concept ကို ပြောပြခဲ့ပြီးပြီဆိုတော့ ဒီနေ့မှာတော့ Terraform ကို Professional ကျက...

TCP/IP Protocol
အားလုံးပဲမင်္ဂလာပါ။ ဒီနေ့ ကျွန်တော်တို့ TCP/IP Protocol အကြောင်း ဆွေးနွေးသွားပါမယ်။ ပထမဆုံးအနေနဲ့ TCP/IP ရဲ့ History လေး...

Terraform Day 1: Introduction to IAC and Terraform
ကျွန်တော်တို့ cloud အကြောင်း စပြောကြပြီဆိုရင် အရင်ဆုံး ခေါင်းထဲရောက်လာတာ Console ထဲဝင်၊ UI ကနေ ခလုတ်လေးတွေ လိုက်နှိပ်ပြီ...

