Kubernetes Dashboard แƒ“แƒ GitLab แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ”แƒ‘แƒ˜แƒก แƒ˜แƒœแƒขแƒ”แƒ’แƒ แƒแƒชแƒ˜แƒ

Kubernetes Dashboard แƒ“แƒ GitLab แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ”แƒ‘แƒ˜แƒก แƒ˜แƒœแƒขแƒ”แƒ’แƒ แƒแƒชแƒ˜แƒ

Kubernetes Dashboard แƒแƒ แƒ˜แƒก แƒแƒ“แƒ•แƒ˜แƒšแƒแƒ“ แƒ’แƒแƒ›แƒแƒกแƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ”แƒšแƒ˜ แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒ›แƒ”แƒœแƒขแƒ˜ แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘ แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ˜แƒก แƒ›แƒ˜แƒกแƒแƒฆแƒ”แƒ‘แƒแƒ“ แƒ“แƒ แƒ›แƒ˜แƒœแƒ˜แƒ›แƒแƒšแƒฃแƒ แƒ˜ แƒซแƒแƒšแƒ˜แƒกแƒฎแƒ›แƒ”แƒ•แƒ˜แƒ— แƒ›แƒ˜แƒกแƒ˜ แƒ›แƒแƒ แƒ—แƒ•แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒคแƒ แƒ แƒ›แƒ”แƒขแƒแƒ“ แƒ˜แƒฌแƒงแƒ”แƒ‘แƒ— แƒ›แƒ˜แƒก แƒจแƒ”แƒคแƒแƒกแƒ”แƒ‘แƒแƒก, แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒแƒ› แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒšแƒแƒ‘แƒ”แƒ‘แƒ–แƒ” แƒฌแƒ•แƒ“แƒแƒ›แƒ แƒกแƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒแƒ— แƒแƒ แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒแƒ“แƒ›แƒ˜แƒœแƒ˜แƒกแƒขแƒ แƒแƒขแƒแƒ แƒ”แƒ‘แƒก/DevOps แƒ˜แƒœแƒŸแƒ˜แƒœแƒ แƒ”แƒ‘แƒก, แƒแƒ แƒแƒ›แƒ”แƒ“ แƒ›แƒแƒ—แƒแƒช, แƒ•แƒ˜แƒœแƒช แƒœแƒแƒ™แƒšแƒ”แƒ‘แƒแƒ“ แƒแƒ แƒ˜แƒก แƒ›แƒ˜แƒฉแƒ•แƒ”แƒฃแƒšแƒ˜ แƒ™แƒแƒœแƒกแƒแƒšแƒก แƒ“แƒ/แƒแƒœ แƒแƒ  แƒแƒžแƒ˜แƒ แƒ”แƒ‘แƒก แƒ’แƒแƒฃแƒ›แƒ™แƒšแƒแƒ•แƒ“แƒ”แƒก kubectl-แƒ—แƒแƒœ แƒ“แƒ แƒ˜แƒœแƒขแƒ”แƒ แƒแƒฅแƒชแƒ˜แƒ˜แƒก แƒงแƒ•แƒ”แƒšแƒ แƒกแƒ˜แƒ แƒ—แƒฃแƒšแƒ”แƒก. แƒกแƒฎแƒ•แƒ แƒ™แƒแƒ›แƒฃแƒœแƒแƒšแƒฃแƒ แƒ˜ แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜. แƒ”แƒก แƒ›แƒแƒฎแƒ“แƒ แƒฉแƒ•แƒ”แƒœแƒ—แƒแƒœ: แƒ“แƒ”แƒ•แƒ”แƒšแƒแƒžแƒ”แƒ แƒ”แƒ‘แƒก แƒกแƒฃแƒ แƒ“แƒแƒ— แƒกแƒฌแƒ แƒแƒคแƒ˜ แƒฌแƒ•แƒ“แƒแƒ›แƒ Kubernetes แƒ•แƒ”แƒ‘ แƒ˜แƒœแƒขแƒ”แƒ แƒคแƒ”แƒ˜แƒกแƒ–แƒ” แƒ“แƒ แƒ แƒแƒ“แƒ’แƒแƒœ แƒฉแƒ•แƒ”แƒœ แƒ•แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ— GitLab-แƒก, แƒ’แƒแƒ›แƒแƒกแƒแƒ•แƒแƒšแƒ˜ แƒ‘แƒฃแƒœแƒ”แƒ‘แƒ แƒ˜แƒ•แƒ˜แƒ.

แฒ แƒแƒขแƒแƒ› แƒแƒ แƒ˜แƒก แƒ”แƒก?

แƒžแƒ˜แƒ แƒ“แƒแƒžแƒ˜แƒ แƒ˜ แƒ“แƒ”แƒ•แƒ”แƒšแƒแƒžแƒ”แƒ แƒ”แƒ‘แƒ˜ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ“แƒแƒ˜แƒœแƒขแƒ”แƒ แƒ”แƒกแƒ“แƒœแƒ”แƒœ แƒ˜แƒกแƒ”แƒ—แƒ˜ แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒ›แƒ”แƒœแƒขแƒ˜แƒ—, แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ K8s Dashboard แƒแƒ›แƒแƒชแƒแƒœแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒ แƒ—แƒ•แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒฎแƒแƒœแƒ“แƒแƒฎแƒแƒœ แƒ’แƒกแƒฃแƒ แƒ— แƒ˜แƒฎแƒ˜แƒšแƒแƒ— แƒŸแƒฃแƒ แƒœแƒแƒšแƒ”แƒ‘แƒ˜ แƒ“แƒ แƒ แƒ”แƒกแƒฃแƒ แƒกแƒ”แƒ‘แƒ˜, แƒฎแƒแƒœแƒ“แƒแƒฎแƒแƒœ แƒ›แƒแƒ™แƒšแƒแƒ— แƒžแƒแƒ“แƒ”แƒ‘แƒ˜, แƒ’แƒแƒแƒคแƒแƒ แƒ—แƒแƒ•แƒแƒ— Deployments/StatefulSets แƒ“แƒ แƒ’แƒแƒ“แƒแƒฎแƒ•แƒ˜แƒ“แƒ”แƒ— แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒ˜แƒก แƒ™แƒแƒœแƒกแƒแƒšแƒ–แƒ”แƒช (แƒแƒกแƒ”แƒ•แƒ” แƒแƒ แƒ˜แƒก แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ—แƒแƒ—แƒ•แƒ˜แƒกแƒแƒช, แƒ—แƒฃแƒ›แƒชแƒ, แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒก แƒกแƒฎแƒ•แƒ แƒ’แƒ–แƒ - แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒ›แƒ”แƒจแƒ•แƒ”แƒแƒ‘แƒ˜แƒ— kubectl-debug).

แƒ’แƒแƒ แƒ“แƒ แƒแƒ›แƒ˜แƒกแƒ, แƒ›แƒ”แƒœแƒ”แƒฏแƒ”แƒ แƒ”แƒ‘แƒก แƒแƒฅแƒ•แƒ— แƒคแƒกแƒ˜แƒฅแƒแƒšแƒแƒ’แƒ˜แƒฃแƒ แƒ˜ แƒ›แƒแƒ›แƒ”แƒœแƒขแƒ˜, แƒ แƒแƒชแƒ แƒกแƒฃแƒ แƒ— แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒก แƒจแƒ”แƒฎแƒ”แƒ“แƒแƒœ - แƒ“แƒแƒ˜แƒœแƒแƒฎแƒแƒœ, แƒ แƒแƒ› โ€žแƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒ›แƒฌแƒ•แƒแƒœแƒ”แƒโ€œ แƒ“แƒ แƒแƒ›แƒ˜แƒ— แƒ“แƒแƒแƒ›แƒจแƒ•แƒ˜แƒ“แƒแƒœ แƒ—แƒแƒ•แƒ˜, แƒ แƒแƒ› โ€žแƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒกโ€œ (แƒ แƒแƒช, แƒ แƒ แƒ—แƒฅแƒ›แƒ แƒฃแƒœแƒ“แƒ, แƒซแƒแƒšแƒ˜แƒแƒœ แƒคแƒแƒ แƒ“แƒแƒ‘แƒ˜แƒ—แƒ˜แƒ... แƒ›แƒแƒ’แƒ แƒแƒ› แƒ”แƒก แƒกแƒชแƒ˜แƒšแƒ“แƒ”แƒ‘แƒ แƒกแƒขแƒแƒขแƒ˜แƒ˜แƒก แƒคแƒแƒ แƒ’แƒšแƒ”แƒ‘แƒก).

แƒ แƒแƒ’แƒแƒ แƒช แƒกแƒขแƒแƒœแƒ“แƒแƒ แƒขแƒฃแƒšแƒ˜ CI แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ แƒ’แƒ•แƒแƒฅแƒ•แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—แƒ˜ GitLab: แƒงแƒ•แƒ”แƒšแƒ แƒ“แƒ”แƒ•แƒ”แƒšแƒแƒžแƒ”แƒ แƒ˜ แƒแƒกแƒ”แƒ•แƒ” แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒก แƒ›แƒแƒก. แƒแƒ›แƒ˜แƒขแƒแƒ›, แƒ›แƒแƒ—แƒ—แƒ•แƒ˜แƒก แƒฌแƒ•แƒ“แƒแƒ›แƒ˜แƒก แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒกแƒแƒงแƒแƒคแƒแƒ“, แƒšแƒแƒ’แƒ˜แƒ™แƒฃแƒ แƒ˜ แƒ˜แƒงแƒ Dashboard-แƒ˜แƒก แƒ˜แƒœแƒขแƒ”แƒ’แƒ แƒ˜แƒ แƒ”แƒ‘แƒ GitLab-แƒ˜แƒก แƒแƒœแƒ’แƒแƒ แƒ˜แƒจแƒ”แƒ‘แƒ—แƒแƒœ.

แƒ›แƒ” แƒแƒกแƒ”แƒ•แƒ” แƒแƒฆแƒ•แƒœแƒ˜แƒจแƒœแƒแƒ•, แƒ แƒแƒ› แƒฉแƒ•แƒ”แƒœ แƒ•แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ— NGINX Ingress. แƒ—แƒฃ แƒกแƒฎแƒ•แƒ”แƒ‘แƒ—แƒแƒœ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ— แƒจแƒ”แƒกแƒแƒกแƒ•แƒšแƒ”แƒšแƒ˜ แƒ’แƒแƒ“แƒแƒฌแƒงแƒ•แƒ”แƒขแƒ˜แƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜, แƒแƒ•แƒขแƒแƒ แƒ˜แƒ–แƒแƒชแƒ˜แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ“แƒแƒ›แƒแƒฃแƒ™แƒ˜แƒ“แƒ”แƒ‘แƒšแƒแƒ“ แƒ›แƒแƒ’แƒ˜แƒฌแƒ”แƒ•แƒ— แƒแƒœแƒแƒขแƒแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒแƒœแƒแƒšแƒแƒ’แƒ”แƒ‘แƒ˜แƒก แƒžแƒแƒ•แƒœแƒ.

แƒ˜แƒœแƒขแƒ”แƒ’แƒ แƒแƒชแƒ˜แƒ˜แƒก แƒ›แƒชแƒ“แƒ”แƒšแƒแƒ‘แƒ

แƒ“แƒแƒคแƒ˜แƒก แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ

แƒงแƒฃแƒ แƒแƒ“แƒฆแƒ”แƒ‘แƒ: แƒ—แƒฃ แƒ—แƒฅแƒ•แƒ”แƒœ แƒแƒžแƒ˜แƒ แƒ”แƒ‘แƒ— แƒ’แƒแƒ˜แƒ›แƒ”แƒแƒ แƒแƒ— แƒฅแƒ•แƒ”แƒ›แƒแƒ— แƒ›แƒแƒชแƒ”แƒ›แƒฃแƒšแƒ˜ แƒœแƒแƒ‘แƒ˜แƒฏแƒ”แƒ‘แƒ˜, แƒ›แƒแƒจแƒ˜แƒœ - แƒ–แƒ”แƒ“แƒ›แƒ”แƒขแƒ˜ แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ—แƒแƒ•แƒ˜แƒ“แƒแƒœ แƒแƒกแƒแƒชแƒ˜แƒšแƒ”แƒ‘แƒšแƒแƒ“ - แƒฏแƒ”แƒ  แƒฌแƒแƒ˜แƒ™แƒ˜แƒ—แƒฎแƒ”แƒ— แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒฅแƒ•แƒ”แƒกแƒแƒ—แƒแƒฃแƒ แƒ˜.

แƒ•แƒ˜แƒœแƒแƒ˜แƒ“แƒแƒœ แƒฉแƒ•แƒ”แƒœ แƒ•แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ— แƒแƒ› แƒ˜แƒœแƒขแƒ”แƒ’แƒ แƒแƒชแƒ˜แƒแƒก แƒ‘แƒ”แƒ•แƒ  แƒ˜แƒœแƒกแƒขแƒแƒšแƒแƒชแƒ˜แƒแƒจแƒ˜, แƒฉแƒ•แƒ”แƒœ แƒ›แƒแƒ•แƒแƒฎแƒ“แƒ˜แƒœแƒ”แƒ— แƒ›แƒ˜แƒกแƒ˜ แƒ˜แƒœแƒกแƒขแƒแƒšแƒแƒชแƒ˜แƒ˜แƒก แƒแƒ•แƒขแƒแƒ›แƒแƒขแƒ˜แƒ–แƒแƒชแƒ˜แƒ. แƒแƒ›แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒกแƒแƒญแƒ˜แƒ แƒ แƒฌแƒงแƒแƒ แƒแƒ”แƒ‘แƒ˜ แƒ’แƒแƒ›แƒแƒฅแƒ•แƒ”แƒงแƒœแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒฅ แƒกแƒžแƒ”แƒชแƒ˜แƒแƒšแƒฃแƒ แƒ˜ GitHub แƒกแƒแƒชแƒแƒ•แƒ˜. แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒ“แƒแƒคแƒฃแƒซแƒœแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒแƒ“แƒœแƒแƒ• แƒจแƒ”แƒชแƒ•แƒšแƒ˜แƒš YAML แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ”แƒ‘แƒ–แƒ” แƒ“แƒแƒคแƒ˜แƒก แƒแƒคแƒ˜แƒชแƒ˜แƒแƒšแƒฃแƒ แƒ˜ แƒกแƒแƒชแƒแƒ•แƒ˜, แƒแƒกแƒ”แƒ•แƒ” Bash แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ˜ แƒกแƒฌแƒ แƒแƒคแƒ˜ แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก.

แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ˜ แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒก Dashboard-แƒก แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒจแƒ˜ แƒ“แƒ แƒแƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒ˜แƒ แƒ”แƒ‘แƒก แƒ›แƒแƒก GitLab-แƒ—แƒแƒœ แƒ˜แƒœแƒขแƒ”แƒ’แƒ แƒแƒชแƒ˜แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก:

$ ./ctl.sh  
Usage: ctl.sh [OPTION]... --gitlab-url GITLAB_URL --oauth2-id ID --oauth2-secret SECRET --dashboard-url DASHBOARD_URL
Install kubernetes-dashboard to Kubernetes cluster.
Mandatory arguments:
 -i, --install                install into 'kube-system' namespace
 -u, --upgrade                upgrade existing installation, will reuse password and host names
 -d, --delete                 remove everything, including the namespace
     --gitlab-url             set gitlab url with schema (https://gitlab.example.com)
     --oauth2-id              set OAUTH2_PROXY_CLIENT_ID from gitlab
     --oauth2-secret          set OAUTH2_PROXY_CLIENT_SECRET from gitlab
     --dashboard-url          set dashboard url without schema (dashboard.example.com)
Optional arguments:
 -h, --help                   output this message

แƒ—แƒฃแƒ›แƒชแƒ, แƒ›แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒแƒ›แƒ“แƒ” แƒฃแƒœแƒ“แƒ แƒ’แƒแƒ“แƒแƒฎแƒ•แƒ˜แƒ“แƒ”แƒ— GitLab-แƒจแƒ˜: Admin area โ†’ Applications - แƒ“แƒ แƒ“แƒแƒแƒ›แƒแƒขแƒแƒ— แƒแƒฎแƒแƒšแƒ˜ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ แƒ›แƒแƒ›แƒแƒ•แƒแƒšแƒ˜ แƒžแƒแƒœแƒ”แƒšแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒ›แƒแƒ“แƒ˜แƒ— แƒ•แƒฃแƒฌแƒแƒ“แƒแƒ— แƒ›แƒแƒก "แƒ™แƒฃแƒ‘แƒ”แƒ แƒœแƒ”แƒขแƒ˜แƒก แƒ“แƒแƒคแƒ":

Kubernetes Dashboard แƒ“แƒ GitLab แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ”แƒ‘แƒ˜แƒก แƒ˜แƒœแƒขแƒ”แƒ’แƒ แƒแƒชแƒ˜แƒ

แƒ›แƒ˜แƒกแƒ˜ แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ“แƒ”แƒ’แƒแƒ“, GitLab แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒก แƒฐแƒ”แƒจแƒ”แƒ‘แƒก:

Kubernetes Dashboard แƒ“แƒ GitLab แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ”แƒ‘แƒ˜แƒก แƒ˜แƒœแƒขแƒ”แƒ’แƒ แƒแƒชแƒ˜แƒ

แƒกแƒฌแƒแƒ แƒ”แƒ“ แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ˜แƒก แƒแƒ แƒ’แƒฃแƒ›แƒ”แƒœแƒขแƒ”แƒ‘แƒแƒ“. แƒจแƒ”แƒ“แƒ”แƒ’แƒแƒ“, แƒ˜แƒœแƒกแƒขแƒแƒšแƒแƒชแƒ˜แƒ แƒแƒกแƒ” แƒ’แƒแƒ›แƒแƒ˜แƒงแƒฃแƒ แƒ”แƒ‘แƒ:

$ ./ctl.sh -i --gitlab-url https://gitlab.example.com --oauth2-id 6a52769eโ€ฆ --oauth2-secret 6b79168fโ€ฆ --dashboard-url dashboard.example.com

แƒแƒ›แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, แƒ›แƒแƒ“แƒ˜แƒ— แƒจแƒ”แƒ•แƒแƒ›แƒแƒฌแƒ›แƒแƒ—, แƒ แƒแƒ› แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒ“แƒแƒ˜แƒฌแƒงแƒ:

$ kubectl -n kube-system get pod | egrep '(dash|oauth)'
kubernetes-dashboard-76b55bc9f8-xpncp   1/1       Running   0          14s
oauth2-proxy-5586ccf95c-czp2v           1/1       Running   0          14s

แƒ—แƒฃแƒ›แƒชแƒ แƒแƒ“แƒ แƒ” แƒ—แƒฃ แƒ’แƒ•แƒ˜แƒแƒœ แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒ“แƒแƒ˜แƒฌแƒงแƒ”แƒ‘แƒ แƒแƒ•แƒขแƒแƒ แƒ˜แƒ–แƒแƒชแƒ˜แƒ แƒ“แƒแƒฃแƒงแƒแƒ•แƒœแƒ”แƒ‘แƒšแƒ˜แƒ• แƒแƒ  แƒ˜แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒก! แƒคแƒแƒฅแƒขแƒ˜แƒ, แƒ แƒแƒ› แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒš แƒกแƒฃแƒ แƒแƒ—แƒจแƒ˜ (แƒกแƒฎแƒ•แƒ แƒกแƒฃแƒ แƒแƒ—แƒ”แƒ‘แƒจแƒ˜ แƒกแƒ˜แƒขแƒฃแƒแƒชแƒ˜แƒ แƒ›แƒกแƒ’แƒแƒ•แƒกแƒ˜แƒ) แƒ’แƒแƒ›แƒแƒซแƒแƒฎแƒ”แƒ‘แƒ˜แƒกแƒแƒก แƒ’แƒแƒ“แƒแƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒญแƒ”แƒ แƒ˜แƒก แƒžแƒ แƒแƒชแƒ”แƒกแƒ˜ แƒแƒ แƒแƒกแƒฌแƒแƒ แƒแƒ“ แƒแƒ แƒ˜แƒก แƒ’แƒแƒœแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒฃแƒšแƒ˜. แƒ”แƒก แƒ’แƒแƒ แƒ”แƒ›แƒแƒ”แƒ‘แƒ แƒ›แƒ˜แƒ•แƒงแƒแƒ•แƒแƒ แƒ— แƒ˜แƒ› แƒคแƒแƒฅแƒขแƒก, แƒ แƒแƒ› oauth แƒฌแƒแƒจแƒšแƒ˜แƒก แƒฅแƒฃแƒฅแƒ˜-แƒคแƒแƒ˜แƒšแƒก, แƒ แƒแƒ›แƒ”แƒšแƒกแƒแƒช แƒ—แƒแƒ•แƒแƒ“ oauth แƒ’แƒ•แƒแƒฌแƒ•แƒ“แƒ˜แƒก...

แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ แƒ›แƒแƒ’แƒ•แƒแƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒกแƒแƒ™แƒฃแƒ—แƒแƒ แƒ˜ oauth แƒกแƒฃแƒ แƒแƒ—แƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒ— แƒžแƒแƒขแƒฉแƒ˜แƒ—.

แƒ“แƒแƒแƒงแƒ”แƒœแƒ”แƒ— oauth แƒ“แƒ แƒฎแƒ”แƒšแƒแƒฎแƒšแƒ แƒ“แƒแƒแƒ˜แƒœแƒกแƒขแƒแƒšแƒ˜แƒ แƒ”แƒ—

แƒแƒ›แƒ˜แƒกแƒแƒ—แƒ•แƒ˜แƒก แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒ›แƒแƒ•แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ— แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ Dockerfile-แƒก:

FROM golang:1.9-alpine3.7
WORKDIR /go/src/github.com/bitly/oauth2_proxy

RUN apk --update add make git build-base curl bash ca-certificates wget 
&& update-ca-certificates 
&& curl -sSO https://raw.githubusercontent.com/pote/gpm/v1.4.0/bin/gpm 
&& chmod +x gpm 
&& mv gpm /usr/local/bin
RUN git clone https://github.com/bitly/oauth2_proxy.git . 
&& git checkout bfda078caa55958cc37dcba39e57fc37f6a3c842  
ADD rd.patch .
RUN patch -p1 < rd.patch 
&& ./dist.sh

FROM alpine:3.7
RUN apk --update add curl bash  ca-certificates && update-ca-certificates
COPY --from=0 /go/src/github.com/bitly/oauth2_proxy/dist/ /bin/

EXPOSE 8080 4180
ENTRYPOINT [ "/bin/oauth2_proxy" ]
CMD [ "--upstream=http://0.0.0.0:8080/", "--http-address=0.0.0.0:4180" ]

แƒ“แƒ แƒแƒ˜, แƒ แƒแƒ’แƒแƒ  แƒ’แƒแƒ›แƒแƒ˜แƒงแƒฃแƒ แƒ”แƒ‘แƒ แƒ—แƒแƒ•แƒแƒ“ rd.patch แƒžแƒแƒฉแƒ˜

diff --git a/dist.sh b/dist.sh
index a00318b..92990d4 100755
--- a/dist.sh
+++ b/dist.sh
@@ -14,25 +14,13 @@ goversion=$(go version | awk '{print $3}')
sha256sum=()
 
echo "... running tests"
-./test.sh
+#./test.sh
 
-for os in windows linux darwin; do
-    echo "... building v$version for $os/$arch"
-    EXT=
-    if [ $os = windows ]; then
-        EXT=".exe"
-    fi
-    BUILD=$(mktemp -d ${TMPDIR:-/tmp}/oauth2_proxy.XXXXXX)
-    TARGET="oauth2_proxy-$version.$os-$arch.$goversion"
-    FILENAME="oauth2_proxy-$version.$os-$arch$EXT"
-    GOOS=$os GOARCH=$arch CGO_ENABLED=0 
-        go build -ldflags="-s -w" -o $BUILD/$TARGET/$FILENAME || exit 1
-    pushd $BUILD/$TARGET
-    sha256sum+=("$(shasum -a 256 $FILENAME || exit 1)")
-    cd .. && tar czvf $TARGET.tar.gz $TARGET
-    mv $TARGET.tar.gz $DIR/dist
-    popd
-done
+os='linux'
+echo "... building v$version for $os/$arch"
+TARGET="oauth2_proxy-$version.$os-$arch.$goversion"
+GOOS=$os GOARCH=$arch CGO_ENABLED=0 
+    go build -ldflags="-s -w" -o ./dist/oauth2_proxy || exit 1
  
checksum_file="sha256sum.txt"
cd $DIR/dists
diff --git a/oauthproxy.go b/oauthproxy.go
index 21e5dfc..df9101a 100644
--- a/oauthproxy.go
+++ b/oauthproxy.go
@@ -381,7 +381,9 @@ func (p *OAuthProxy) SignInPage(rw http.ResponseWriter, req *http.Request, code
       if redirect_url == p.SignInPath {
               redirect_url = "/"
       }
-
+       if req.FormValue("rd") != "" {
+               redirect_url = req.FormValue("rd")
+       }
       t := struct {
               ProviderName  string
               SignInMessage string

แƒแƒฎแƒšแƒ แƒ—แƒฅแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒจแƒ”แƒฅแƒ›แƒœแƒแƒ— แƒกแƒฃแƒ แƒแƒ—แƒ˜ แƒ“แƒ แƒ’แƒแƒ“แƒแƒ˜แƒขแƒแƒœแƒแƒ— แƒ˜แƒ’แƒ˜ แƒฉแƒ•แƒ”แƒœแƒก GitLab-แƒจแƒ˜. แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒจแƒ˜ manifests/kube-dashboard-oauth2-proxy.yaml แƒ›แƒ˜แƒฃแƒ—แƒ˜แƒ—แƒ”แƒ— แƒกแƒแƒกแƒฃแƒ แƒ•แƒ”แƒšแƒ˜ แƒกแƒฃแƒ แƒแƒ—แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ (แƒจแƒ”แƒชแƒ•แƒแƒšแƒ”แƒ— แƒ˜แƒ’แƒ˜ แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜แƒ—):

 image: docker.io/colemickens/oauth2_proxy:latest

แƒ—แƒฃ แƒ—แƒฅแƒ•แƒ”แƒœ แƒ’แƒแƒฅแƒ•แƒ— แƒ แƒ”แƒ”แƒกแƒขแƒ แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ“แƒแƒฎแƒฃแƒ แƒฃแƒšแƒ˜แƒ แƒแƒ•แƒขแƒแƒ แƒ˜แƒ–แƒแƒชแƒ˜แƒ˜แƒ—, แƒแƒ  แƒฃแƒœแƒ“แƒ แƒ“แƒแƒ’แƒ•แƒแƒ•แƒ˜แƒฌแƒงแƒ“แƒ”แƒก, แƒ แƒแƒ› แƒ“แƒแƒแƒ›แƒแƒขแƒแƒ— แƒกแƒแƒ˜แƒ“แƒฃแƒ›แƒšแƒ แƒ’แƒแƒ›แƒแƒกแƒแƒฎแƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒกแƒแƒงแƒ”แƒœแƒ”แƒ‘แƒšแƒแƒ“:

      imagePullSecrets:
     - name: gitlab-registry

... แƒ“แƒ แƒ“แƒแƒแƒ›แƒแƒขแƒ”แƒ— แƒกแƒแƒ˜แƒ“แƒฃแƒ›แƒšแƒ แƒ แƒ”แƒ”แƒกแƒขแƒ แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก:

---
apiVersion: v1
data:
 .dockercfg: eyJyZWdpc3RyeS5jb21wYW55LmNvbSI6IHsKICJ1c2VybmFtZSI6ICJvYXV0aDIiLAogInBhc3N3b3JkIjogIlBBU1NXT1JEIiwKICJhdXRoIjogIkFVVEhfVE9LRU4iLAogImVtYWlsIjogIm1haWxAY29tcGFueS5jb20iCn0KfQoK
=
kind: Secret
metadata:
 annotations:
 name: gitlab-registry
 namespace: kube-system
type: kubernetes.io/dockercfg

แƒงแƒฃแƒ แƒแƒ“แƒฆแƒ”แƒ‘แƒ˜แƒแƒœแƒ˜ แƒ›แƒ™แƒ˜แƒ—แƒฎแƒ•แƒ”แƒšแƒ˜ แƒ“แƒแƒ˜แƒœแƒแƒฎแƒแƒ•แƒก, โ€‹โ€‹แƒ แƒแƒ› แƒ’แƒ แƒซแƒ”แƒšแƒ˜ แƒกแƒขแƒ แƒ˜แƒฅแƒแƒœแƒ˜ แƒ–แƒ”แƒ›แƒแƒ— แƒแƒ แƒ˜แƒก base64 แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒ“แƒแƒœ:

{"registry.company.com": {
 "username": "oauth2",
 "password": "PASSWORD",
 "auth": "AUTH_TOKEN",
 "email": "[email protected]"
}
}

แƒ”แƒก แƒแƒ แƒ˜แƒก แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜ GitLab-แƒจแƒ˜, Kubernetes แƒ™แƒแƒ“แƒ˜ แƒแƒ›แƒแƒ˜แƒฆแƒ”แƒ‘แƒก แƒกแƒฃแƒ แƒแƒ—แƒก แƒ แƒ”แƒ”แƒกแƒขแƒ แƒ˜แƒ“แƒแƒœ.

แƒงแƒ•แƒ”แƒšแƒแƒคแƒ แƒ˜แƒก แƒ“แƒแƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒฌแƒแƒจแƒแƒšแƒแƒ— แƒ›แƒ˜แƒ›แƒ“แƒ˜แƒœแƒแƒ แƒ” (แƒแƒ แƒแƒกแƒฌแƒแƒ แƒแƒ“ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก) แƒ“แƒแƒคแƒ˜แƒก แƒ˜แƒœแƒกแƒขแƒแƒšแƒแƒชแƒ˜แƒ แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ˜แƒ—:

$ ./ctl.sh -d

... แƒ“แƒ แƒ˜แƒกแƒ”แƒ• แƒ“แƒแƒแƒ˜แƒœแƒกแƒขแƒแƒšแƒ˜แƒ แƒ”แƒ— แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜:

$ ./ctl.sh -i --gitlab-url https://gitlab.example.com --oauth2-id 6a52769eโ€ฆ --oauth2-secret 6b79168fโ€ฆ --dashboard-url dashboard.example.com

แƒ“แƒ แƒแƒ แƒ’แƒแƒ“แƒแƒฎแƒ•แƒ˜แƒ“แƒ”แƒ— Dashboard-แƒ–แƒ” แƒ“แƒ แƒ˜แƒžแƒแƒ•แƒแƒ— แƒกแƒแƒ™แƒ›แƒแƒแƒ“ แƒแƒ แƒฅแƒแƒฃแƒšแƒ˜ แƒจแƒ”แƒกแƒ•แƒšแƒ˜แƒก แƒฆแƒ˜แƒšแƒแƒ™แƒ˜:

Kubernetes Dashboard แƒ“แƒ GitLab แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ”แƒ‘แƒ˜แƒก แƒ˜แƒœแƒขแƒ”แƒ’แƒ แƒแƒชแƒ˜แƒ

แƒ›แƒแƒกแƒ–แƒ” แƒ“แƒแƒฌแƒ™แƒแƒžแƒฃแƒœแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, GitLab แƒ›แƒแƒ’แƒ•แƒ”แƒกแƒแƒšแƒ›แƒ”แƒ‘แƒ แƒ“แƒ แƒ’แƒ•แƒ—แƒแƒ•แƒแƒ–แƒแƒ‘แƒก แƒจแƒ”แƒฎแƒ•แƒ˜แƒ“แƒ”แƒ— แƒฉแƒ•แƒ”แƒฃแƒšแƒ”แƒ‘แƒ แƒ˜แƒ• แƒ’แƒ•แƒ”แƒ แƒ“แƒ–แƒ” (แƒ แƒ แƒ—แƒฅแƒ›แƒ แƒฃแƒœแƒ“แƒ, แƒ—แƒฃ แƒแƒฅแƒแƒ›แƒ“แƒ” แƒแƒ  แƒ•แƒแƒ แƒ— แƒจแƒ”แƒกแƒฃแƒšแƒ˜):

Kubernetes Dashboard แƒ“แƒ GitLab แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ”แƒ‘แƒ˜แƒก แƒ˜แƒœแƒขแƒ”แƒ’แƒ แƒแƒชแƒ˜แƒ

แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ•แƒ“แƒ˜แƒ•แƒแƒ แƒ— GitLab แƒกแƒ”แƒ แƒ—แƒ˜แƒคแƒ˜แƒ™แƒแƒขแƒ”แƒ‘แƒ˜แƒ— - แƒ“แƒ แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒ™แƒ”แƒ—แƒ“แƒ”แƒ‘แƒ:

Kubernetes Dashboard แƒ“แƒ GitLab แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ”แƒ‘แƒ˜แƒก แƒ˜แƒœแƒขแƒ”แƒ’แƒ แƒแƒชแƒ˜แƒ

แƒ“แƒแƒคแƒ˜แƒก แƒ›แƒแƒฎแƒแƒกแƒ˜แƒแƒ—แƒ”แƒ‘แƒšแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘

แƒ—แƒฃ แƒ—แƒฅแƒ•แƒ”แƒœ แƒฎแƒแƒ แƒ— แƒ“แƒ”แƒ•แƒ”แƒšแƒแƒžแƒ”แƒ แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒ“แƒ แƒ” แƒแƒ  แƒฃแƒ›แƒฃแƒจแƒแƒ•แƒ˜แƒ Kubernetes-แƒ—แƒแƒœ, แƒแƒœ แƒฃแƒ‘แƒ แƒแƒšแƒแƒ“ แƒ แƒแƒ˜แƒ›แƒ” แƒ›แƒ˜แƒ–แƒ”แƒ–แƒ˜แƒ— แƒแƒ  แƒจแƒ”แƒฎแƒ•แƒ”แƒ“แƒ แƒ˜แƒแƒ— Dashboard-แƒก, แƒ›แƒ” แƒ˜แƒšแƒฃแƒกแƒขแƒ แƒ˜แƒ แƒ”แƒ‘แƒแƒก แƒ’แƒแƒ•แƒแƒ™แƒ”แƒ—แƒ”แƒ‘ แƒ›แƒ˜แƒก แƒ–แƒแƒ’แƒ˜แƒ”แƒ แƒ— แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒšแƒแƒ‘แƒ”แƒ‘แƒ–แƒ”.

แƒžแƒ˜แƒ แƒ•แƒ”แƒš แƒ แƒ˜แƒ’แƒจแƒ˜, แƒ—แƒฅแƒ•แƒ”แƒœ แƒฎแƒ”แƒ“แƒแƒ•แƒ—, แƒ แƒแƒ› "แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒ›แƒฌแƒ•แƒแƒœแƒ”แƒ":

Kubernetes Dashboard แƒ“แƒ GitLab แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ”แƒ‘แƒ˜แƒก แƒ˜แƒœแƒขแƒ”แƒ’แƒ แƒแƒชแƒ˜แƒ

แƒฃแƒคแƒ แƒ แƒ“แƒ”แƒขแƒแƒšแƒฃแƒ แƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜ แƒแƒกแƒ”แƒ•แƒ” แƒฎแƒ”แƒšแƒ›แƒ˜แƒกแƒแƒฌแƒ•แƒ“แƒแƒ›แƒ˜แƒ แƒžแƒแƒ“แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ แƒ’แƒแƒ แƒ”แƒ›แƒแƒก แƒชแƒ•แƒšแƒแƒ“แƒ”แƒ‘แƒ˜, แƒ’แƒแƒ“แƒ›แƒแƒฌแƒ”แƒ แƒ˜แƒšแƒ˜ แƒกแƒฃแƒ แƒแƒ—แƒ˜, แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ˜แƒก แƒแƒ แƒ’แƒฃแƒ›แƒ”แƒœแƒขแƒ”แƒ‘แƒ˜ แƒ“แƒ แƒ›แƒแƒ—แƒ˜ แƒ›แƒ“แƒ’แƒแƒ›แƒแƒ แƒ”แƒแƒ‘แƒ:

Kubernetes Dashboard แƒ“แƒ GitLab แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ”แƒ‘แƒ˜แƒก แƒ˜แƒœแƒขแƒ”แƒ’แƒ แƒแƒชแƒ˜แƒ

แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒแƒก แƒแƒฅแƒ•แƒก แƒฎแƒ˜แƒšแƒฃแƒšแƒ˜ แƒกแƒขแƒแƒขแƒฃแƒกแƒ”แƒ‘แƒ˜:

Kubernetes Dashboard แƒ“แƒ GitLab แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ”แƒ‘แƒ˜แƒก แƒ˜แƒœแƒขแƒ”แƒ’แƒ แƒแƒชแƒ˜แƒ

...แƒ“แƒ แƒกแƒฎแƒ•แƒ แƒ“แƒ”แƒขแƒแƒšแƒ”แƒ‘แƒ˜:

Kubernetes Dashboard แƒ“แƒ GitLab แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ”แƒ‘แƒ˜แƒก แƒ˜แƒœแƒขแƒ”แƒ’แƒ แƒแƒชแƒ˜แƒ

... แƒ“แƒ แƒแƒกแƒ”แƒ•แƒ” แƒแƒ แƒ˜แƒก แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒกแƒจแƒขแƒแƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒšแƒแƒ‘แƒ:

Kubernetes Dashboard แƒ“แƒ GitLab แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ”แƒ‘แƒ˜แƒก แƒ˜แƒœแƒขแƒ”แƒ’แƒ แƒแƒชแƒ˜แƒ

แƒแƒ› แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒ˜แƒก แƒจแƒ”แƒ“แƒ”แƒ’แƒ˜:

Kubernetes Dashboard แƒ“แƒ GitLab แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ”แƒ‘แƒ˜แƒก แƒ˜แƒœแƒขแƒ”แƒ’แƒ แƒแƒชแƒ˜แƒ

แƒกแƒขแƒแƒขแƒ˜แƒ˜แƒก แƒ“แƒแƒกแƒแƒฌแƒงแƒ˜แƒกแƒจแƒ˜ แƒฃแƒ™แƒ•แƒ” แƒœแƒแƒฎแƒกแƒ”แƒœแƒ”แƒ‘แƒ˜ แƒกแƒฎแƒ•แƒ แƒกแƒแƒกแƒแƒ แƒ’แƒ”แƒ‘แƒšแƒ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒก แƒจแƒแƒ แƒ˜แƒก แƒแƒ แƒ˜แƒก แƒŸแƒฃแƒ แƒœแƒแƒšแƒ”แƒ‘แƒ˜แƒก แƒœแƒแƒฎแƒ•แƒ:

Kubernetes Dashboard แƒ“แƒ GitLab แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ”แƒ‘แƒ˜แƒก แƒ˜แƒœแƒขแƒ”แƒ’แƒ แƒแƒชแƒ˜แƒ

... แƒ“แƒ แƒแƒ แƒฉแƒ”แƒฃแƒšแƒ˜ แƒžแƒแƒ“แƒ˜แƒก แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒ˜แƒก แƒ™แƒแƒœแƒกแƒแƒšแƒจแƒ˜ แƒจแƒ”แƒกแƒ•แƒšแƒ˜แƒก แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ:

Kubernetes Dashboard แƒ“แƒ GitLab แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ”แƒ‘แƒ˜แƒก แƒ˜แƒœแƒขแƒ”แƒ’แƒ แƒแƒชแƒ˜แƒ

แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒ—แƒฅแƒ•แƒ”แƒœ แƒแƒกแƒ”แƒ•แƒ” แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒœแƒแƒฎแƒแƒ— แƒ™แƒ•แƒแƒœแƒซแƒ”แƒ‘แƒ˜แƒก แƒšแƒ˜แƒ›แƒ˜แƒขแƒ”แƒ‘แƒ˜/แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒ˜:

Kubernetes Dashboard แƒ“แƒ GitLab แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ”แƒ‘แƒ˜แƒก แƒ˜แƒœแƒขแƒ”แƒ’แƒ แƒแƒชแƒ˜แƒ

แƒ แƒ แƒ—แƒฅแƒ›แƒ แƒฃแƒœแƒ“แƒ, แƒ”แƒก แƒแƒ  แƒแƒ แƒ˜แƒก แƒžแƒแƒœแƒ”แƒšแƒ˜แƒก แƒงแƒ•แƒ”แƒšแƒ แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒšแƒแƒ‘แƒ, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ˜แƒ›แƒ”แƒ“แƒ˜ แƒ›แƒแƒฅแƒ•แƒก, แƒ แƒแƒ› แƒ—แƒฅแƒ•แƒ”แƒœ แƒ›แƒ˜แƒ˜แƒฆแƒ”แƒ‘แƒ— แƒ–แƒแƒ’แƒแƒ“ แƒ˜แƒ“แƒ”แƒแƒก.

แƒ˜แƒœแƒขแƒ”แƒ’แƒ แƒแƒชแƒ˜แƒ˜แƒก แƒ“แƒ Dashboard-แƒ˜แƒก แƒœแƒแƒ™แƒšแƒแƒ•แƒแƒœแƒ”แƒ‘แƒ”แƒ‘แƒ˜

แƒแƒฆแƒฌแƒ”แƒ แƒ˜แƒš แƒ˜แƒœแƒขแƒ”แƒ’แƒ แƒแƒชแƒ˜แƒแƒจแƒ˜ แƒแƒ  แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒก แƒฌแƒ•แƒ“แƒแƒ›แƒ˜แƒก แƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ˜. แƒ›แƒแƒกแƒ—แƒแƒœ แƒ”แƒ แƒ—แƒแƒ“, GitLab-แƒ–แƒ” แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ แƒ˜ แƒฌแƒ•แƒ“แƒแƒ›แƒ˜แƒก แƒ›แƒฅแƒแƒœแƒ” แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒ˜ แƒ˜แƒฆแƒ”แƒ‘แƒก แƒฌแƒ•แƒ“แƒแƒ›แƒแƒก Dashboard-แƒ–แƒ”. แƒ›แƒแƒ— แƒแƒฅแƒ•แƒ— แƒ˜แƒ’แƒ˜แƒ•แƒ” แƒฌแƒ•แƒ“แƒแƒ›แƒ แƒ—แƒแƒ•แƒแƒ“ Dashboard-แƒจแƒ˜, แƒ แƒแƒช แƒจแƒ”แƒ”แƒกแƒแƒ‘แƒแƒ›แƒ”แƒ‘แƒ แƒ—แƒแƒ•แƒแƒ“ Dashboard-แƒ˜แƒก แƒฃแƒคแƒšแƒ”แƒ‘แƒ”แƒ‘แƒก, แƒ แƒแƒช แƒ’แƒแƒœแƒกแƒแƒ–แƒฆแƒ•แƒ แƒฃแƒšแƒ˜แƒ RBAC-แƒจแƒ˜. แƒชแƒฎแƒแƒ“แƒ˜แƒ, แƒ”แƒก แƒงแƒ•แƒ”แƒšแƒแƒกแƒ—แƒ•แƒ˜แƒก แƒจแƒ”แƒกแƒแƒคแƒ”แƒ แƒ˜แƒกแƒ˜ แƒแƒ  แƒแƒ แƒ˜แƒก, แƒ›แƒแƒ’แƒ แƒแƒ› แƒฉแƒ•แƒ”แƒœแƒ˜ แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ”แƒก แƒกแƒแƒ™แƒ›แƒแƒ แƒ˜แƒกแƒ˜ แƒแƒฆแƒ›แƒแƒฉแƒœแƒ“แƒ.

แƒ—แƒแƒ•แƒแƒ“ Dashboard-แƒ˜แƒก แƒจแƒ”แƒกแƒแƒ›แƒฉแƒœแƒ”แƒ• แƒœแƒแƒ™แƒšแƒแƒ•แƒแƒœแƒ”แƒ‘แƒ”แƒ‘แƒก แƒจแƒแƒ แƒ˜แƒก แƒ›แƒ” แƒแƒฆแƒ•แƒœแƒ˜แƒจแƒœแƒแƒ• แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒก:

  • แƒจแƒ”แƒฃแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒกแƒแƒฌแƒงแƒ˜แƒก แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒ˜แƒก แƒ™แƒแƒœแƒกแƒแƒšแƒจแƒ˜ แƒ›แƒแƒฎแƒ•แƒ”แƒ“แƒ แƒ;
  • แƒจแƒ”แƒฃแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ Deployments แƒ“แƒ StatefulSets-แƒ˜แƒก แƒ แƒ”แƒ“แƒแƒฅแƒขแƒ˜แƒ แƒ”แƒ‘แƒ, แƒ—แƒฃแƒ›แƒชแƒ แƒแƒ›แƒ˜แƒก แƒ“แƒแƒคแƒ˜แƒฅแƒกแƒ˜แƒ แƒ”แƒ‘แƒ แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ ClusterRole-แƒจแƒ˜;
  • Dashboard-แƒ˜แƒก แƒ—แƒแƒ•แƒกแƒ”แƒ‘แƒแƒ“แƒแƒ‘แƒ Kubernetes-แƒ˜แƒก แƒฃแƒแƒฎแƒšแƒ”แƒก แƒ•แƒ”แƒ แƒกแƒ˜แƒ”แƒ‘แƒ—แƒแƒœ แƒ“แƒ แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜แƒก แƒ›แƒแƒ›แƒแƒ•แƒแƒšแƒ˜ แƒแƒฉแƒ”แƒœแƒก แƒ™แƒ˜แƒ—แƒฎแƒ•แƒ”แƒ‘แƒก.

แƒ‘แƒแƒšแƒ แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ แƒ’แƒแƒœแƒกแƒแƒ™แƒฃแƒ—แƒ แƒ”แƒ‘แƒฃแƒš แƒงแƒฃแƒ แƒแƒ“แƒฆแƒ”แƒ‘แƒแƒก แƒ˜แƒ›แƒกแƒแƒฎแƒฃแƒ แƒ”แƒ‘แƒก.

แƒ“แƒแƒคแƒ˜แƒก แƒกแƒขแƒแƒขแƒฃแƒกแƒ˜ แƒ“แƒ แƒแƒšแƒขแƒ”แƒ แƒœแƒแƒขแƒ˜แƒ•แƒ”แƒ‘แƒ˜

Dashboard แƒ—แƒแƒ•แƒกแƒ”แƒ‘แƒแƒ“แƒแƒ‘แƒ˜แƒก แƒชแƒฎแƒ แƒ˜แƒšแƒ˜ Kubernetes-แƒ˜แƒก แƒ’แƒแƒ›แƒแƒจแƒ•แƒ”แƒ‘แƒ”แƒ‘แƒ—แƒแƒœ, แƒฌแƒแƒ แƒ›แƒแƒ“แƒ’แƒ”แƒœแƒ˜แƒšแƒ˜แƒ แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜แƒก แƒฃแƒแƒฎแƒšแƒ”แƒก แƒ•แƒ”แƒ แƒกแƒ˜แƒแƒจแƒ˜ (v1.10.1), แƒแƒ แƒช แƒ—แƒฃ แƒ˜แƒกแƒ” แƒ‘แƒ”แƒ“แƒœแƒ˜แƒ”แƒ แƒ˜:

Kubernetes Dashboard แƒ“แƒ GitLab แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ”แƒ‘แƒ˜แƒก แƒ˜แƒœแƒขแƒ”แƒ’แƒ แƒแƒชแƒ˜แƒ

แƒแƒ›แƒ˜แƒก แƒ›แƒ˜แƒฃแƒฎแƒ”แƒ“แƒแƒ•แƒแƒ“, แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒก (แƒฃแƒ™แƒ•แƒ” แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ˜แƒแƒœแƒ•แƒแƒ แƒจแƒ˜) PR #3476, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒชแƒฎแƒแƒ“แƒ”แƒ‘แƒก แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒแƒก K8s 1.13-แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒ’แƒแƒ แƒ“แƒ แƒแƒ›แƒ˜แƒกแƒ, แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜แƒก แƒกแƒแƒ™แƒ˜แƒ—แƒฎแƒ”แƒ‘แƒก แƒจแƒแƒ แƒ˜แƒก แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ˜แƒžแƒแƒ•แƒแƒ— แƒ›แƒ˜แƒ—แƒ˜แƒ—แƒ”แƒ‘แƒ”แƒ‘แƒ˜ แƒžแƒแƒœแƒ”แƒšแƒ—แƒแƒœ แƒ›แƒแƒ›แƒฃแƒจแƒแƒ•แƒ” แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘ K8s 1.14-แƒจแƒ˜. แƒ‘แƒแƒšแƒแƒก แƒ“แƒ แƒ‘แƒแƒšแƒแƒก, แƒแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒก แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜แƒก แƒ™แƒแƒ“แƒ˜แƒก แƒ‘แƒแƒ–แƒแƒจแƒ˜ แƒแƒ  แƒจแƒ”แƒฉแƒ”แƒ แƒ“แƒ”แƒ—. แƒแƒกแƒ” แƒ แƒแƒ› (แƒงแƒแƒ•แƒ”แƒš แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜!) แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜แƒก แƒ แƒ”แƒแƒšแƒฃแƒ แƒ˜ แƒกแƒขแƒแƒขแƒฃแƒกแƒ˜ แƒแƒ  แƒแƒ แƒ˜แƒก แƒ˜แƒกแƒ”แƒ—แƒ˜ แƒชแƒฃแƒ“แƒ˜, แƒ แƒแƒ’แƒแƒ แƒช แƒ”แƒก แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒฉแƒแƒœแƒ“แƒ”แƒก แƒแƒคแƒ˜แƒชแƒ˜แƒแƒšแƒฃแƒ แƒ˜ แƒ—แƒแƒ•แƒกแƒ”แƒ‘แƒแƒ“แƒแƒ‘แƒ˜แƒก แƒชแƒฎแƒ แƒ˜แƒšแƒ˜แƒ“แƒแƒœ.

แƒ“แƒแƒ‘แƒแƒšแƒแƒก, แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒก Dashboard-แƒ˜แƒก แƒแƒšแƒขแƒ”แƒ แƒœแƒแƒขแƒ˜แƒ•แƒ”แƒ‘แƒ˜. แฒ›แƒแƒ— แƒจแƒแƒ แƒ˜แƒก:

  1. K8Dash โ€” แƒแƒฎแƒแƒšแƒ’แƒแƒ–แƒ แƒ“แƒ แƒ˜แƒœแƒขแƒ”แƒ แƒคแƒ”แƒ˜แƒกแƒ˜ (แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒจแƒ”แƒ—แƒแƒœแƒฎแƒ›แƒ”แƒ‘แƒ”แƒ‘แƒ˜ แƒ—แƒแƒ แƒ˜แƒฆแƒ“แƒ”แƒ‘แƒ แƒ›แƒ˜แƒ›แƒ“แƒ˜แƒœแƒแƒ แƒ” แƒฌแƒšแƒ˜แƒก แƒ›แƒแƒ แƒขแƒจแƒ˜), แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒฃแƒ™แƒ•แƒ” แƒ’แƒ•แƒ—แƒแƒ•แƒแƒ–แƒแƒ‘แƒก แƒ™แƒแƒ แƒ’ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒก, แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜แƒก แƒแƒ›แƒŸแƒแƒ›แƒ˜แƒœแƒ“แƒ”แƒšแƒ˜ แƒกแƒขแƒแƒขแƒฃแƒกแƒ˜แƒก แƒ•แƒ˜แƒ–แƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒฌแƒแƒ แƒ›แƒแƒ“แƒ’แƒ”แƒœแƒ แƒ“แƒ แƒ›แƒ˜แƒกแƒ˜ แƒแƒ‘แƒ˜แƒ”แƒฅแƒขแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒ แƒ—แƒ•แƒ. แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ แƒแƒ’แƒแƒ แƒช "แƒ แƒ”แƒแƒšแƒฃแƒ  แƒ“แƒ แƒแƒจแƒ˜ แƒ˜แƒœแƒขแƒ”แƒ แƒคแƒ”แƒ˜แƒกแƒ˜", แƒ แƒแƒ“แƒ’แƒแƒœ แƒแƒ•แƒขแƒแƒ›แƒแƒขแƒฃแƒ แƒแƒ“ แƒ’แƒแƒœแƒแƒแƒฎแƒšแƒ”แƒ‘แƒก แƒœแƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ‘แƒ แƒแƒฃแƒ–แƒ”แƒ แƒจแƒ˜ แƒ’แƒ•แƒ”แƒ แƒ“แƒ˜แƒก แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”.
  2. OpenShift แƒ™แƒแƒœแƒกแƒแƒšแƒ˜ - แƒ•แƒ”แƒ‘ แƒ˜แƒœแƒขแƒ”แƒ แƒคแƒ”แƒ˜แƒกแƒ˜ Red Hat OpenShift-แƒ˜แƒกแƒ’แƒแƒœ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช, แƒ—แƒฃแƒ›แƒชแƒ, แƒ—แƒฅแƒ•แƒ”แƒœแƒก แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒจแƒ˜ แƒจแƒ”แƒ›แƒแƒ˜แƒขแƒแƒœแƒก แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜แƒก แƒกแƒฎแƒ•แƒ แƒ’แƒแƒœแƒ•แƒ˜แƒ—แƒแƒ แƒ”แƒ‘แƒแƒก, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒงแƒ•แƒ”แƒšแƒแƒกแƒ—แƒ•แƒ˜แƒก แƒจแƒ”แƒกแƒแƒคแƒ”แƒ แƒ˜แƒกแƒ˜ แƒแƒ  แƒแƒ แƒ˜แƒก.
  3. แƒ™แƒฃแƒ‘แƒ”แƒ แƒœแƒแƒขแƒแƒ แƒ˜ แƒแƒ แƒ˜แƒก แƒกแƒแƒ˜แƒœแƒขแƒ”แƒ แƒ”แƒกแƒ แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜, แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒšแƒ˜ แƒ แƒแƒ’แƒแƒ แƒช แƒฅแƒ•แƒ”แƒ“แƒ แƒ“แƒแƒœแƒ˜แƒก (แƒ“แƒแƒคแƒแƒ–แƒ”) แƒ˜แƒœแƒขแƒ”แƒ แƒคแƒ”แƒ˜แƒกแƒ˜ แƒงแƒ•แƒ”แƒšแƒ แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒฃแƒšแƒ˜ แƒแƒ‘แƒ˜แƒ”แƒฅแƒขแƒ˜แƒก แƒœแƒแƒฎแƒ•แƒ˜แƒก แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒšแƒแƒ‘แƒ˜แƒ—. แƒ—แƒฃแƒ›แƒชแƒ, แƒ แƒแƒ’แƒแƒ แƒช แƒฉแƒแƒœแƒก, แƒ›แƒ˜แƒกแƒ˜ แƒ’แƒแƒœแƒ•แƒ˜แƒ—แƒแƒ แƒ”แƒ‘แƒ แƒจแƒ”แƒฉแƒ”แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ.
  4. Polaris - แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ›แƒ”แƒแƒ แƒ” แƒ“แƒฆแƒ”แƒก แƒ’แƒแƒ›แƒแƒแƒชแƒฎแƒแƒ“แƒ แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒ”แƒ แƒ—แƒ˜แƒแƒœแƒ”แƒ‘แƒก แƒžแƒแƒœแƒ”แƒšแƒ˜แƒก แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒก (แƒ’แƒ•แƒ˜แƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒก แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜แƒก แƒแƒ›แƒŸแƒแƒ›แƒ˜แƒœแƒ“แƒ”แƒš แƒ›แƒ“แƒ’แƒแƒ›แƒแƒ แƒ”แƒแƒ‘แƒแƒก, แƒ›แƒแƒ’แƒ แƒแƒ› แƒแƒ  แƒ›แƒแƒ แƒ—แƒแƒ•แƒก แƒ›แƒ˜แƒก แƒแƒ‘แƒ˜แƒ”แƒฅแƒขแƒ”แƒ‘แƒก) แƒ“แƒ แƒแƒ•แƒขแƒแƒ›แƒแƒขแƒฃแƒ  โ€žแƒกแƒแƒฃแƒ™แƒ”แƒ—แƒ”แƒกแƒ แƒžแƒ แƒแƒฅแƒขแƒ˜แƒ™แƒ˜แƒก แƒจแƒ”แƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒแƒกโ€œ (แƒแƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒก แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒก แƒ›แƒแƒกแƒจแƒ˜ แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜ Deployments-แƒ˜แƒก แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒกแƒ˜แƒกแƒฌแƒแƒ แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก).

แƒ“แƒแƒกแƒ™แƒ•แƒœแƒ”แƒ‘แƒ˜แƒก แƒœแƒแƒชแƒ•แƒšแƒแƒ“

Dashboard แƒแƒ แƒ˜แƒก แƒกแƒขแƒแƒœแƒ“แƒแƒ แƒขแƒฃแƒšแƒ˜ แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒ›แƒ”แƒœแƒขแƒ˜ Kubernetes แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒกแƒแƒช แƒฉแƒ•แƒ”แƒœ แƒ•แƒ”แƒ›แƒกแƒแƒฎแƒฃแƒ แƒ”แƒ‘แƒ˜แƒ—. GitLab-แƒ—แƒแƒœ แƒ›แƒ˜แƒกแƒ˜ แƒ˜แƒœแƒขแƒ”แƒ’แƒ แƒแƒชแƒ˜แƒ แƒแƒกแƒ”แƒ•แƒ” แƒ’แƒแƒฎแƒ“แƒ แƒฉแƒ•แƒ”แƒœแƒ˜ แƒœแƒแƒ’แƒฃแƒšแƒ˜แƒกแƒฎแƒ›แƒ”แƒ•แƒ˜ แƒ˜แƒœแƒกแƒขแƒแƒšแƒแƒชแƒ˜แƒ˜แƒก แƒœแƒแƒฌแƒ˜แƒšแƒ˜, แƒ แƒแƒ“แƒ’แƒแƒœ แƒ‘แƒ”แƒ•แƒ แƒ˜ แƒ“แƒ”แƒ•แƒ”แƒšแƒแƒžแƒ”แƒ แƒ˜ แƒแƒฆแƒคแƒ แƒ—แƒแƒ•แƒแƒœแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒแƒ› แƒžแƒแƒœแƒ”แƒšแƒ˜แƒก แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒšแƒแƒ‘แƒ”แƒ‘แƒ˜แƒ—.

Kubernetes Dashboard-แƒก แƒžแƒ”แƒ แƒ˜แƒแƒ“แƒฃแƒšแƒแƒ“ แƒแƒฅแƒ•แƒก แƒแƒšแƒขแƒ”แƒ แƒœแƒแƒขแƒ˜แƒ•แƒ”แƒ‘แƒ˜ แƒฆแƒ˜แƒ แƒ™แƒแƒ“แƒ˜แƒก แƒกแƒแƒ–แƒแƒ’แƒแƒ“แƒแƒ”แƒ‘แƒ˜แƒกแƒ’แƒแƒœ (แƒ“แƒ แƒฉแƒ•แƒ”แƒœ แƒกแƒ˜แƒแƒ›แƒแƒ•แƒœแƒ”แƒ‘แƒ˜แƒ— แƒ’แƒแƒœแƒ•แƒ˜แƒฎแƒ˜แƒšแƒแƒ•แƒ— แƒ›แƒแƒ—), แƒ›แƒแƒ’แƒ แƒแƒ› แƒแƒ› แƒ”แƒขแƒแƒžแƒ–แƒ” แƒฉแƒ•แƒ”แƒœ แƒ•แƒ แƒฉแƒ”แƒ‘แƒ˜แƒ— แƒแƒ› แƒ’แƒแƒ“แƒแƒฌแƒงแƒ•แƒ”แƒขแƒแƒ–แƒ”.

PS

แƒแƒกแƒ”แƒ•แƒ” แƒฌแƒแƒ˜แƒ™แƒ˜แƒ—แƒฎแƒ”แƒ— แƒฉแƒ•แƒ”แƒœแƒก แƒ‘แƒšแƒแƒ’แƒ–แƒ”:

แƒฌแƒงแƒแƒ แƒ: www.habr.com

แƒแƒฎแƒแƒšแƒ˜ แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ