요약
- Kubernetes Secret 리소스는 값들이 base64 로 인코딩 되어있어야 함.
- echo 명령어 특성상 '-n' 없이 사용하면 개행 문자가 추가됨.
- echo 명령어를 활용해서 비밀번호 설정 시 개행 문자가 포함돼 secret 리소스의 값이 이상해짐.
해결
분명 올바르게 값을 입력해서 secret 리소스를 생성했는데, 아래와 같이 인증에 실패한 오류가 출력됐다.

그래서 RDS에서 설정한 값(유저명, 비밀번호)이 잘못됐을 수 있으니, 하드코딩해서 DB 연결을 시도하였고, 정상적으로 성공한 것을 확인했다.
그러면 딱 한 가지 문제밖에 안 남는다.
secret 리소스 생성 도중 오탈자가 들어간 경우다.
그래서 history를 통해 내가 입력한 명령어를 확인했는데 오탈자는 없었다.
알고보니 평소에 쓰던 '-n' 옵션이 없어 개행문자가 함께 추가돼 Secret 리소스 값이 이상해진 것이다.
다시는 이런 바보 같은 실수를 하지 않으리라.
[문제 발생 명령어]
echo username >> secret.yaml
[올바른 명령어]
echo -n username >> secret.yaml