본문으로 건너뛰기

"secrets-manager" 태그로 연결된 2개 게시물개의 게시물이 있습니다.

모든 태그 보기

Kubernetes Engine 주요 업데이트: 클러스터 운영부터 노드·시크릿 자동화까지

· 약 5분
Evan (진은용)
Service Manager
Kubernetes Engine 업데이트

워크로드가 늘면 노드 용량을 조정해야 하고, 비밀번호나 API 키가 바뀌면 이를 사용하는 애플리케이션에도 반영해야 합니다. 클러스터 접근 범위와 노드 상태를 점검하는 일도 꾸준히 필요합니다. 특히 노드와 시크릿을 수동으로 관리하면 반복 작업이 늘고, 설정 변경이 일부 환경에만 적용될 수 있습니다.

최근 Kubernetes Engine 업데이트는 이 운영 과제를 클러스터 기능, 노드 자동화, 중앙 집중식 시크릿 연동의 관점에서 다룹니다. Karpenter와 External Secrets Operator(ESO)는 Kubernetes 생태계의 오픈소스 프로젝트이며, Kubernetes Engine은 카카오클라우드 자원과 Secrets Manager를 사용할 수 있도록 Provider와 배포판을 제공합니다. 이 글에서는 각 프로젝트가 담당하는 부분과 카카오클라우드에서 추가로 준비해야 하는 구성을 구분해 소개합니다.

클러스터 운영 기능 개선​

API 서버의 접근 범위를 세밀하게 설정하고 노드 상태와 네트워크 구성을 더 쉽게 확인할 수 있도록 운영 기능을 개선했습니다.

주요 변경 사항은 다음과 같습니다.

  • API 서버 엔드포인트 접근 제어: 접근 범위를 전체 허용하거나 허용할 IPv4 CIDR 목록으로 제한할 수 있습니다. 기존 클러스터에서도 허용 범위를 변경할 수 있습니다.
  • Admission Webhook 통신 개선: Kubernetes 1.34 이상에서는 Konnectivity를 통해 API 서버와 Admission Webhook 서버가 통신하므로, Webhook 서버 파드에 hostNetwork: true를 설정하지 않아도 됩니다.
  • 노드 상태 진단 및 토폴로지 확인: Kubernetes 1.34 이상 클러스터에는 Node Problem Detector가 기본 설치되고 Kubernetes Engine에서 관리합니다. 클러스터와 노드 풀 상세 화면의 토폴로지 탭에서는 서브넷과 노드 구성을 확인할 수 있습니다.
  • 로드 밸런서 구성 방식 개선: Kubernetes 1.30 이상에서 loadBalancerClass와 신규 annotation으로 로드 밸런서를 구성할 수 있습니다.
기존 로드 밸런서 방식 지원 종료 예정

Kubernetes 1.30 이상 클러스터에서 기존 annotation 방식으로 로드 밸런서를 구성하고 있다면 전환을 준비해 주세요. 기존 방식은 2026년 12월 31일 지원이 종료될 예정입니다. Service와 로드 밸런서를 신규 방식으로 구성하고 트래픽을 옮기는 과정은 기존 방식에서 이전하기에서 확인할 수 있습니다.

워크로드 요구에 맞춰 워커 노드 자동 관리하기​

트래픽과 작업량은 늘 일정하지 않습니다. 요청이 몰리거나 대규모 작업이 시작되면 파드를 실행할 노드가 더 필요하고, 작업이 끝나면 남는 용량을 줄여야 합니다. Karpenter는 클러스터 안에서 스케줄되지 않은 파드를 감시하고, 파드의 리소스 요구 사항과 배치 조건에 맞는 노드를 준비하는 컨트롤러입니다. Kubernetes Engine에서는 카카오클라우드 Virtual Machine API와 연결되는 Karpenter Provider를 함께 설치해 이 동작을 구현합니다.

Karpenter는 파드의 리소스 요구 사항과 노드 정책을 기준으로 Virtual Machine을 생성하고, 사용량이 낮아지면 필요하지 않은 노드를 회수합니다. 생성한 노드는 관리형 노드 풀과 별도로 관리되므로, 관리형 노드 풀의 노드 수를 직접 조정하지 않고도 변동성이 큰 워크로드에 필요한 용량을 확보할 수 있습니다.

Karpenter는 기존 관리형 노드 풀을 대체하기보다, 변동성이 큰 워크로드를 위한 별도 노드 자동화 계층으로 활용할 수 있습니다. GPU 워크로드는 GPU 전용 NodePool로 분리할 수 있으며, 필요한 설정은 GPU 워커 노드 구성에서 확인할 수 있습니다.

정보

Kubernetes Engine의 Karpenter 연동은 현재 얼리 액세스로 제공되며 지원 리전과 인스턴스 유형이 정해져 있습니다. 생성한 Virtual Machine과 루트 볼륨에는 요금이 부과되므로, 지원 범위와 비용을 확인한 뒤 Karpenter 설치 및 노드 구성을 따라 설치하세요.

Secrets Manager의 시크릿을 클러스터에서 사용하기​

데이터베이스 비밀번호나 API 키는 여러 워크로드에서 사용되고 주기적으로 변경됩니다. 이 값을 클러스터마다 직접 복사하지 않고 Secrets Manager를 원본으로 관리하면, 오픈소스 External Secrets Operator(ESO)가 필요한 값을 Kubernetes Secret으로 동기화합니다. 애플리케이션은 기존처럼 Kubernetes Secret을 환경 변수나 볼륨으로 참조하므로, Secrets Manager API를 직접 호출하도록 코드를 변경할 필요가 없습니다.

Kubernetes Engine에서는 카카오클라우드용 ESO 배포판의 Secrets Manager Provider를 사용합니다. 연동 설정에서 조회할 시크릿과 대상 Kubernetes Secret, 갱신 주기를 지정하면 ESO가 Secrets Manager의 값을 주기적으로 조회해 Kubernetes Secret을 생성하거나 갱신합니다.

연동 과정을 직접 확인하려면 다음 두 튜토리얼을 순서대로 진행해 보세요.

적용 전 확인 사항
  • 카카오클라우드용 ESO Provider는 읽기 전용이므로 시크릿 생성·수정·삭제는 Secrets Manager에서 수행합니다.
  • Kubernetes Secret이 갱신되어도 실행 중인 파드의 환경 변수는 자동으로 바뀌지 않으므로, 파드 재시작 또는 별도 갱신 정책이 필요합니다.

운영 환경에 적용해 보세요​

이번 글에서 소개한 기능은 한 번에 모두 적용하기보다 운영 환경의 과제에 맞춰 선택하는 것이 좋습니다. API 서버 접근 제어와 클러스터 운영 기능은 운영 가이드에서, Karpenter와 ESO는 각각의 설치 가이드와 튜토리얼에서 사전 조건과 적용 절차를 확인해 보세요. 특히 기존 로드 밸런서 annotation을 사용 중이라면 2026년 12월 31일 지원 종료 전에 신규 방식으로 이전을 준비해 주세요.

구성 중 궁금한 점이나 지원이 필요한 경우에는 헬프데스크 > 기술 문의에 문의해주시기 바랍니다.

감사합니다.

👉 Kubernetes Engine 시작하기
👉 카카오클라우드 바로 시작하기

Secrets Manager 및 KMS 서비스 출시 안내

· 약 4분
Miguel (김현덕)
Service Manager
security-release

클라우드 기반 서비스가 확산되면서 운영 효율성과 확장성은 크게 향상됐지만, 그만큼 보안에 대한 요구도 더욱 정교해지고 있습니다. 특히 인증 정보나 자격 증명처럼 시스템 내부에서 필수로 사용되지만 외부 노출 시 보안 사고로 직결되는 민감 정보는, 단순히 숨기는 것만으로는 더 이상 안전하다고 할 수 없습니다. 어떻게 저장하고, 누가 접근하며, 어떤 방식으로 갱신, 폐기되는지까지 체계적으로 관리되어야 하죠.

또한, 암호화된 데이터를 보호하는 암호화 키(Key) 역시 별도로 안전하게 관리되어야 합니다. 키 하나만 유출되어도 모든 보안의 의미가 사라질 수 있기 때문입니다.

이런 보안 니즈에 대응하기 위해, 카카오클라우드는 두 가지 신규 보안 서비스를 출시했습니다. 바로 Secrets Manager와 KMS(Key Management Service) 입니다.
이 포스트에서는 두 서비스를 통해 시크릿과 키를 어떻게 안전하게 분리·관리하고, 보안과 운영 효율을 동시에 높일 수 있는지 소개합니다.

🔐 시크릿을 안전하게 관리하는 방법, Secrets Manager​

서비스를 운영하다 보면 반드시 보호해야 할 정보들이 존재합니다. 예를 들어, 데이터베이스의 사용자 이름과 비밀번호, 외부 API의 인증 키, 서비스 간 통신에 사용되는 토큰 등이죠. 이러한 정보는 일반적으로 시크릿(Secret) 이라고 하며, 애플리케이션이 외부 또는 내부 시스템과 안전하게 통신하기 위해 필요한 보안 자격 증명(Security Credentials) 입니다. 이러한 시크릿이 노출되면 무단 접근이나 데이터 탈취 같은 심각한 보안 사고로 이어질 수 있습니다.

카카오클라우드의 Secrets Manager는 시크릿을 암호화된 상태로 안전하게 저장하고, 필요한 시점에만 안전하게 꺼내 쓸 수 있도록 도와주는 서비스입니다. 기존처럼 코드에 하드코딩하거나 운영 서버의 환경변수로 설정하는 방식은 보안에 취약하고 변경 이력을 추적하기 어렵습니다.

하지만 Secrets Manager를 이용하면 시크릿을 중앙 저장소에서 통합 관리할 수 있고, 변경 시마다 자동으로 버전이 생성되어 변경 이력을 체계적으로 추적할 수 있습니다. 예를 들어, 실수로 잘못된 값을 저장했더라도 이전 버전으로 간단히 롤백할 수 있으며, 필요시 특정 버전만 정지(Deactivated)하거나 폐기(Destroyed)하는 것도 가능합니다. 현재 활성화된 시크릿은 운영(Active) 상태로 유지되며, 상태에 따라 사용 가능 여부가 명확히 구분됩니다.

또한 IAM 서비스와 연동해 시크릿 접근 권한을 사용자 또는 서비스 계정 단위로 세밀하게 제어할 수 있습니다.
예를 들어,

  • Secrets Manager 프로젝트 매니저(Manager)는 시크릿 생성, 수정, 삭제 등 모든 관리 작업이 가능하고,
  • Secrets Manager 프로젝트 뷰어(Viewer)는 시크릿 목록과 버전, 상태를 조회만 가능하도록 설정할 수 있습니다.

이처럼 권한 분리를 통해 보다 안전하고 유연한 시크릿 운영이 가능합니다.

🔑 데이터를 암호화하고 키를 안전하게 다루는 법, KMS​

데이터의 암호화만큼 그 데이터를 복호화할 수 있는 ‘키’를 얼마나 안전하게 관리하느냐도 중요합니다. 고객 정보가 담긴 DB, 민감한 로그, 클라우드 스토리지의 파일 등은 모두 암호화를 통해 보호되어야 하며, 이를 위한 암호화 키의 생성과 운영은 체계적인 방식으로 이루어져야 합니다.

카카오클라우드의 KMS(Key Management Service) 는 데이터를 암호화하거나 디지털 서명을 만들 때 사용하는 '암호화 키'를 생성하고, 안전하게 저장하며, 필요에 따라 순환시키거나 폐기할 수 있도록 도와주는 서비스입니다.

KMS에서 생성한 키는 주기적으로 자동 순환(Rotation) 되도록 설정할 수 있으며, 보안 이벤트 발생 시 즉시 비활성화하거나 폐기(Destroyed)할 수 있습니다. 하나의 키는 여러 버전으로 관리되며, 새로운 버전이 생성되더라도 이전 버전은 그대로 유지되어 과거 데이터 복호화에도 문제없이 대응할 수 있습니다.

KMS는 AES, RSA 등 업계 표준 알고리즘을 지원하며, 생성한 키는 활성(Active), 정지(Deactivated), 폐기(Destroyed) 상태를 기반으로 사용 가능 여부를 명확히 구분할 수 있습니다. 또한, 카카오클라우드의 IAM 서비스와 연동되어 누가 어떤 키에 접근할 수 있는지를 사용자나 서비스 계정 단위로 세밀하게 제어할 수 있습니다.
부여된 역할에 따라,

  • KMS 프로젝트 매니저(Manager)는 키의 생성, 상태 변경, 정책 설정 등 전체 관리 권한을 가지며,
  • KMS 프로젝트 뷰어(Viewer)는 키의 메타데이터나 상태 정보를 조회할 수 있는 권한을 갖습니다.

이처럼 역할 기반으로 권한을 나누어 설정할 수 있어, 운영 안정성과 보안 통제력을 동시에 확보할 수 있습니다. 또한, 키의 생성, 사용, 폐기 이력은 Cloud Trail을 통해 자동 기록되어, 보안 감사와 컴플라이언스 대응에도 유용하게 활용할 수 있습니다.

✅ 보안 수준을 한 단계 높여보세요​

Secrets Manager와 KMS는 기존 Security 카테고리에 새롭게 추가된 서비스로, 시크릿과 암호화 키를 통합적으로 관리하고 IAM과의 연계를 통해 보다 정교한 권한 제어를 구현할 수 있는 보안 체계를 제공합니다.

이제 카카오클라우드 콘솔에서 몇 번의 클릭만으로 민감 정보를 보호하고 키 관리 체계를 구축해보세요.
카카오클라우드는 앞으로도 고객의 보안 요구에 발맞춰 지속적으로 기능을 강화하고, 다양한 서비스의 연동을 통해 통합된 보안 운영 환경을 제공해 나가겠습니다.

Secrets Manager와 KMS의 자세한 설명과 API 가이드는 아래 기술문서를 참고해 주세요.
감사합니다.

👉 Secrets Manager 문서 보기
👉 KMS 문서 보기