728x90
ConfigMap 을 통해 키와 값을 쌍으로 이루어 데이터를 저장하고, 여러 파드에 한번에 적용할 수 있다는 이점이 있음을 알았다.
하지만 암호화가 필요한 비밀번호와 같은 민감한 데이터에 대해서 ConfigMap을 활용한다면 보안적으로 매우 취약해진다. 이러할 경우 사용하는 기능이 Secret 이다.
Secret은 암호화가 진행된다는 점 외엔 ConfigMap과 대체로 유사하다.
ConfigMap과 동일한 방식으로, Secret 리소스를 생성하고 데이터를 담아, 파드가 데이터를 참조할 수 있게끔 하는 방식으로 동작한다.
ConfigMap과 마찬가지로 명령 및 정의 파일을 통해 생성할 수 있다.
명령어의 경우에도 secret 명령어 외에 차이점이 없음을 알 수 있다. Secret 역시도 파일을 통해 다수의 키값을 가져올 수 있다.
다음은 파일을 통해 정의하는 방법을 알아본다.
이 때 가장 주의할 점은 암호화되어야 할 데이터는 직접 암호화하여 작성해야 한다는 점이다. 즉, 상기 이미지에서 DB_Host, DB_User 등 데이터 부분의 암호화된 데이터는 사용자가 직접 암호화 후 암호화된 값을 기입해야 한다. (Secret 에서 암호화해주지 않음)
암호화 및 복호화하는 방법은 아래와 같다.
echo -n 'mysql' | base64 //암호화 값은 bX1zcWw=
echo -n 'bX1zcWw=' | base64 --decode
ConfigMap과 마찬가지로, 2가지의 파드 주입 방법이 존재한다.
1. 단일 환경으로 파드 주입
2. volume 단위로 파드 주입
반응형
'IT > CKA' 카테고리의 다른 글
CKA 준비과정 - Cluster Maintenance (1) / OS 업그레이드 (0) | 2023.06.11 |
---|---|
CKA 준비과정 - Application Lifecycle Management (5) / Container (0) | 2023.06.06 |
CKA 준비과정 - Application Lifecycle Management (3) / Configmap (0) | 2023.06.04 |
CKA 준비과정 - Application Lifecycle Management (2) / Command (0) | 2023.05.31 |
CKA 준비과정 - Application Lifecycle Management (1) / 업데이트 & 롤백 (0) | 2023.05.29 |