
https://argo-cd.readthedocs.io/en/stable/operator-manual/notifications/services/slack/
degraded ์ํ pod๋ฅผ ๊ณ์ํด์ ์์ฑํ๋ ์ํฉ์ ๋ฐ๊ฒฌํ๋ค.
rancher์ ๋ค์ด๊ฐ์ log๋ฅผ ๋ถ์ํด๋ณด๋, disk pressure๊ฐ ์ด์ ์๋ค.
- Django BE์์ sentence-transformer dependency๊ฐ ๋ค์ด๊ฐ๋ฉด ECR ์ด๋ฏธ์ง ํฌ๊ธฐ๊ฐ 6GB๋ฅผ ๋์ด๊ฐ๋ค..! node์ ์ฉ๋์ ํ์ฉ ๋ฐ์ด๋๋ ํฌ๊ธฐ๋ผ disk pressure๊ฐ ๋ฐ์ํ ๊ฒ์ด๋ค. (rancher ๋๋ถ์ ๋น ๋ฅด๊ฒ ๋ฌธ์ ๋ฅผ ์ฐพ์ ์ ์์๋ค.)
- ephemeral storage๊ฐ ์์ฑ๋ ๋ ec2(node)์์ ์ฌ์ฉํ๊ณ ์๋ ์ธ์คํด์ค ์ฉ๋์ ๋์ด๊ฐ์ ๊ฑฐ์ 4๋ฒ์ 1๋ฒ์ฉ degraded์ํ๊ฐ ๋ฐ์ํ๋ค. (kubectl ๋ช ๋ น์ด๋ก /bin/sh ํ์ธ)
์ค์ ์ฉ๋์ ์ถฉ๋ถํ ์ ์ฅํ ์ ์์ง๋ง, ์์ฒด์ ์ผ๋ก limit์ด ๊ฑธ๋ ค์์ด์ ํ๊ณ ์ฉ๋์ ๊ฐ๊น์์ง๋ฉด degraded ์ํ๊ฐ ๋๋ค. ์ธ์คํด์ค๋ฅผ ์ ๊ทธ๋ ์ด๋ํ ํ์๋ฅผ ๋๋๋ค.
์์ ๊ฐ์ ์ํฉ์ด ๋ฐ์ํ์ ๋ ์ง์ argocd์ ๋ค์ด๊ฐ์ ํ์ธํด์ผํ๋ค.
๋ฐ๋ผ์, ์๋์ ์ธ ๋ชจ๋ํฐ๋ง์ ์ํด slack๊ณผ ์ฐ๋ํ๋๋ก ๊ฒฐ์ ํ๋ค.
์ argocd ๊ณต์ ๋ฌธ์๋ฅผ ์ฐธ์กฐํด์ ์งํํ๋ฉด ๋๋ค.
์ ๋งํฌ์์ ๋ฐ๋ก slack notification ์ค์ ์ ๋ณด๊ธฐ ๋ณด๋ค๋, Overview๋ถํฐ ๋ณด๋ ๊ฒ์ ์ถ์ฒํ๋ค.
https://api.slack.com/apps?new_app=1 ์ ๋ค์ด๊ฐ์ slack app์ ์์ฑํด์ค๋ค.
chat bot์ ์ถ๊ฐํด์ค๋ค. chat:write:user๋ก ์ปค์คํ ๋ฉ์ธ์ง๋ฅผ ๋ง๋ค ์ ์๋ค.
์์ฑํ app์ ์๋ฆผ์ ์ํ๋ slack ์ฑ๋์ ์ถ๊ฐํด์ค๋ค. (app์ด slack์ ํ์๋ ๋ ๊น์ง ์๊ฐ์ด ์กฐ๊ธ ๊ฑธ๋ฆฐ๋ค. ์ธ๋ด์ฌ์ ๊ฐ์ง์.๐ )
OAuth & Permissions ์์ OAuth Access Token์ ๋ณต์ฌํด์ค๋ค. ( ์ด ํ ํฐ์ ์ถํ์ argocd-notifications-secret์ ์ ์ฅํด์ค์ผํ๋ค.
๋ณต์ฌํ Token์ argocd-notifications-secret์ ์ ์ฅํด์ค๋ค. ๋ฌธ์์์๋ StringData๋ก ์ ์ฅํ๋ผ๊ณ ํ๋ค. ์ ์ฅํ๊ณ ๋ค์ edit์ ์ด์ด๋ณด๋ฉด ์๋์ผ๋ก data ํ์์ผ๋ก base64 ์ธ์ฝ๋ฉ ๋์ด์๋ค. ์ด์ฐจํผ, base64๋ก ์ธ์ฝ๋ฉ๋ token์ decodingํ์ฌ ์ ์ฉ์ํค๊ธฐ ๋๋ฌธ์ ๋ฌธ์ ๊ฐ ์๋ค. ๋นํฉํ์ง ๋ง์ ๐.
์ด์ ๋ ConfigMap์ ์์ ํด์ค์ผ ํ๋ค. argocd-notifications-cm์ ๋ค์ด๊ฐ์ $slack-token์ผ๋ก token์ ๋ฐ์์ค์.
์๋ฆผ์ ์ํ๋ application์ ๋ค์ด๊ฐ์ patch๋ฅผ ์งํํด์ค๋ค. ํ์๋ sync succeeded, running, failed ๊ทธ๋ฆฌ๊ณ subscribe on-health-degraded, on-deployed, on-sync-status-unknown์ ์ถ๊ฐํด์ฃผ์๋ค.

์๋ฆผ์ด ์ ์จ๋ค !! ๐ข