본문 바로가기

POST/Insight

플랫폼 엔지니어 가이드 - 성공적인 쿠버네티스 전환

 

 

쿠버네티스로 전환을 통해 확장성, 민첩성과 자원 활용율을 개선할 수 있지만 인프라를 이관하는 작업은 복잡하며 몇 가지 위험이 따릅니다. 이관 작업 시 발생하는 복잡성과 위험은 보안, 자원 관리, 규정 준수, 운영 일관성, 비용 효율성과 관련이 있습니다. 오늘은 플랫폼 엔지니어가 성공적으로 쿠버네티스로 이관을 하려면 어떤 위험 요소를 고려해야 하는지 살펴보겠습니다.

 

요약: 

  • 쿠버네티스에 동반되는 위험요소 파악
  • 쿠버네티스 거버넌스를 통한 위험요소 감소
  • 가드레일의 생성을 통해:
    • 정의된 정책의 강제적용과 정책범주 파악
    • 확인 및 검증 자동화
    • 조직간 (개발팀 - 플랫폼팀) 협업 문화 강화
    • 개발자(팀)에게 개발과정에 대한 확신 제공
  • 가드레일 설정으로 빠른 이관 및 성공적인 쿠버네티스 전환 

 

쿠버네티스에 따른 위험

 

보안

 

쿠버네티스는 강력하지만 복잡합니다. 엔지니어가 원하는대로 유연한 설정이 가능하지만 다른 한편으로 설정 과정에서 의도하지 않은 오류나 실수가 발생할 수 있습니다. 특히, 보안 가드레일이 없을 경우 비승인 액세스와 데이터 침해와 같은 다양한 위험요소에 노출 될 수 있습니다. 쿠버네티스에서 고려할 보안 요소는 네트워크 정책, RBAC, 암호화 설정 등을 포함하여 다각적이기 때문에 전문 지식이 부족할 경우 생각보다 까다로울 수 있습니다.

 

자원 관리

 

쿠버네티스는 잘 관리될 경우 효율적인 자원의 활용이 가능합니다. 반면 과도한 자원 설정은 불필요한 비용의 증가를 불러오고, 부족한 자원 할당은 서비스 장애를 일으켜 중요한 비스니스 기회를 놋치는 위험을 초래할 수 있습니다. 자원 요청과 한도에 대한 자동화된 확인 과정과 표준화된 정책이 부재할 경우, 특히 CPU와 메모리 요청과 한도 설정으로 인해 일관되지 않은 운영을 경험하게 됩니다.

 

규정준수(컴플라이언스)

 

어떤 산업분야에 속해 있던 각 산업별로 요구되는 규정을 준수해야할 필요가 있습니다. 쿠버네티스의 환경설정이 표준 규정을 충족하도록 설정되어야 하며 이는 또 하나의 복잡성 요소입니다.

 

일관된 운영

 

서로 다른 환경에서 쿠버네티스의 설정을 일관되게 유지하는 것은 환경설정 드리프트(Configuration drift)를 방지할 수 있습니다. 일관되지 않은 수동으로 배포된 대규모의 클러스터를 운영할 경우 환경설정이 불일치하는 경우가 종종 발생합니다. 이를 수정하기 위해 수개의 클러스터를 하나씩 수동으로 파악하는 과정은 매우 어렵고 비효율적이며, 시스템에도 좋지 않은 영향을 미칩니다.

 

쿠버네티스 거버넌스의 필요성

 

조직이 쿠버네티스로 이관을 시작하면, 배포 규모가 확장되고 복잡성이 증가는 불가피합니다. 더 많은 클러스터, 컨테이너, 팀과 클라우드가 추가되며 관리자의 입장에서는 복잡성에 대한 통제가 매우 중요해집니다. 거버넌스는 플랫폼팀이 증가하는 복잡성을 통제할 수 있도록 도와주며 쿠버네티스 거버넌스는 비즈니스 목표와 시스템이 일치되도록 유지하여 요구되는 보안 및 규정준수를 충족하도록 합니다.

 

쿠버네티스 거버넌스를 이관 작업의 초반에 적용한다면 쿠버네티스 인프라 배포에 필요한 정책을 모두가 따르도록 할 수 있습니다. 이는 개발팀이 동일한 정책을 따르고, 개발자 스스로가 자신의 개발 업무가 보안에 위배되지 않고 제대로 이뤄지고 있다는 확신을 가질 수 있습니다.

 

가드레일을 통한 더 빠른 전환

 

쿠버네티스 전환을 진행할 때 가드레일은 이관팀이 정해진 범위를 벗어나지 않도록 길목마다 안전망과 가이드를 제공합니다. 정해진 범위를 지키는 것은 잠재적인 위험을 막는 것 이외에 이관 작업의 속도를 높일 수 있습니다.

  1. 정의된 정책의 강제 적용 및 범주 파악: 명확한 규칙과 제약사항을 지정하여 에러나 충돌을 불러올 수 있는 편차를 방지할 수 있습니다.  또한 트러블 슈팅과 이슈 수정에 소요되는 시간이 감소됩니다.
  2. 확인과 검증 자동화: 쿠버네티스 거버넌스 솔루션이 정의된 규정을 자동 적용하는 기능을 포함하는지 확인해야 합니다.
  3. 협업 강화: 명확한 정책과 강제하는 방법이 정해지면 각 팀은 이슈에 대한 기대치와 피드백을 받는 방법을 이해하며 협업이 강화됩니다.
  4. 신뢰성 강화: 가드레일이 적용되면 개발팀과 플랫폼팀은 쿠버네티스 인프라에 의도치 않은 위험이 유입될 수 없다는 확신을 통해 자신이 개발중인 서비스와 앱에 대한 확신이 강화됩니다.

쿠버네티스로의 전환은 많은 혜택이 있지만 고려해야할 위험도 함께 있습니다. 쿠버네티스 가드레일의 적용을 통해 이런 위험을 줄이고 복잡성을 잘 관리할 수 있습니다. 가드레일의 적용 시, 보안 강화, 비용 최적화, 컴플라이언스 관리 및 설정의 표준화를 고려해야 합니다.

 

쿠버네티스로 전환에 대해 조금더 상세히 알고 싶다면 여기에 문의해 주세요.

 

 

 

원문 출처: A Platform Engineer’s Guide to Successful Kubernetes Migration