اگر با CI/CD در Kubernetes سروکار دارید، احتمالاً با ابزار قدرتمند Argo CD آشنا هستید.
یکی از مسائل رایج پس از نصب Argo CD، تغییر پسورد ادمین است. در این آموزش قصد داریم با زبانی ساده، اما کاملاً فنی، روشی سریع و امن برای تغییر پسورد ادمین در Argo CD را توضیح دهیم.
با ما همراه باشید تا نهتنها دستور را بفهمید، بلکه دقیقاً درک کنید چه کاری انجام میدهد و چرا اینقدر مهم است.
چرا باید پسورد Argo CD را تغییر دهیم؟
پس از نصب Argo CD، یک پسورد پیشفرض برای ادمین وجود دارد. نگه داشتن آن بسیار خطرناک است و باعث نفوذ احتمالی به کل دپلویهای شما خواهد شد.
پس اولین قدم برای ایمنسازی Argo CD، تغییر رمز عبور است.
دستور تغییر پسورد Argo CD
kubectl --namespace=argocd patch secret argocd-secret -p "$(cat <<EOF
{
"stringData": {
"admin.password": "$(htpasswd -nbBC 10 USER admin | cut -d : -f 2)",
"admin.passwordMtime": "'$(date +%FT%T%Z)'"
}
}
EOF
)"
تجزیه و تحلیل دقیق دستور بالا
۱. patch secret
ما داریم یک Secret با نام argocd-secret را در Namespace به نام argocd ویرایش (Patch) میکنیم. این secret اطلاعات مربوط به پسورد ادمین را نگه میدارد.
۲. htpasswd و رمزنگاری پسورد
در اینجا ما از ابزار htpasswd استفاده میکنیم تا پسورد admin را با الگوریتم bcrypt رمزگذاری کنیم.
-n: خروجی در ترمینال چاپ شود.-b: نام کاربری و رمز به صورت non-interactive داده شود.-B: استفاده از bcrypt-C 10: تعداد دورهای هشینگ
خروجی به شکل زیر است:
USER:$2y$10$e7JKwBGZ1aQX1wU6f4g7XuwVxYbBiTq...
۳. زمان تغییر رمز
با استفاده از دستور date، زمان دقیق تغییر پسورد ذخیره میشود که برای هماهنگی و بررسی تغییرات در Argo CD مفید است:
"admin.passwordMtime": "'$(date +%FT%T%Z)'"
در نهایت پسورد چی میشه؟
اگر همین دستور بالا را اجرا کنید، پسورد ادمین Argo CD برابر admin خواهد بود. یعنی:
- Username: admin
- Password: admin
در این آموزش یاد گرفتید که چطور با استفاده از kubectl و ابزار htpasswd، رمز عبور ادمین Argo CD را تغییر دهید. این روش سریع، قابلاعتماد و امن است، مخصوصاً اگر رمز قوی انتخاب شود.