Offcanvas

개발자 / 머신러닝|딥러닝 / 애플리케이션 / 운영체제 / 클라우드

쿠버네티스 컨테이너 1.11, 무엇이 달라졌나

2018.07.05 Serdar Yegulalp  |  InfoWorld


윈도우 서버 베타 지원
마이크로소프트가 윈도우에 도커(Docker) 컨테이너 지원을 추가한 후 쿠버네티스처럼 도커를 사용하던 다른 앱들은 이를 따르는 것이 당연했다. 쿠버네티스 1.9는 현재 임시로 윈도우 서버에서 쿠버네티스 사용을 지원한다.

윈도우 서버에서 쿠버네티스를 시험하려면 윈도우 서버 2016과 도커 1.12가 필요하다. 현재 쿠버네티스 제어 영역은 리눅스에서만 작동할 수 있다. 즉, 리눅스 컨트롤러에서 컨테이너가 윈도우 서버에서 작동하도록 예약할 수 있지만 리눅스 대신에 윈도우 서버를 컨트롤러로 사용할 수는 없다.

CSI의 첫 알파
쿠버네티스가 등장한 이래로 애플리케이션으로부터의 (저장소를 포함한) 자원 추상화가 핵심 기능이었다. 안타깝게도 컨테이너 저장소는 제대로 된 표준이 없었다. 쿠버네티스를 포함한 거의 모든 컨테이너 솔루션은 자체적인 방식으로 저장소를 처리했다.

CNCF(Cloud Native Computing Foundation)의 하위 그룹인 CNCF SWG(Storage Working Group)가 컨테이너 클러스터에서 저장소를 위한 자체 표준인 CSI 표준을 고안했다. 쿠버네티스 1.9에는 CSI 플러그인의 알파 버전이 있기 때문에 저장소 볼륨 플러그인을 쿠버네티스 자체와 완전히 독립적으로 개발할 수 있다. 이 프로젝트는 여전히 초기 단계이지만 쿠버네티스의 개발자들은 적절한 방향으로 나아가고 있다는 자신감을 보인다.

쿠버네티스 1.9의 기타 새 기능
기타 추가 및 수정사항은 다음과 같다.
• 쿠버네티스에 알파 버전의 하드웨어 가속이 추가되어 GPU를 하나의 자원으로 사용할 수 있다. 이를 통해 쿠버네티스는 머신러닝(ML) 작업 부하를 위한 기초로써 더욱 잘 기능할 수 있다.
• IPv6 주소 지정 알파 지원.
• 더욱 신속한 CRD(Custom Resource Definition) 데이터 검증. CRD를 통해 관리자는 새 버전의 쿠버네티스가 공개되더라도 호환성을 저해하지 않으면서 주어진 쿠버네티스 설치를 사용자 정의 및 확장할 수 있다.

이전 버전: 쿠버네티스 1.8의 새로운 점
쿠버네티스 1.8은 2017년 10월에 공개되었다.

쿠버네티스 1.8의 새 보안 기능
이전 버전의 쿠버네티스에서 RBAC(Role-Based Access Control)를 베타 기능으로 도입했다. RBAC를 통해 관리자는 pod 나 secret 등의 쿠버네티스 자원에 대한 액세스 권한을 정의한 후 이것들을 1명 이상의 사용자에게 부여(바인딩(Binding))할 수 있다. 권한은 변경(‘create’, ‘update’, ‘patch’)이나 이에 대한 정보 획득(‘get’, ‘list’, ‘watch’)에 대한 것일 수 있다. 역할은 2개의 API를 통해 단일 명칭 공간에서 또는 클러스터 전체에 적용할 수 있다.

쿠버네티스는 이미 pod로의 유입 트래픽 필터링을 포함하여 네트워킹을 위한 정책 시스템이 있었다. 쿠버네티스 1.8은 유출 트래픽에 대한 베타 지원도 추가한다. 현재 양방향 필터링은 대상 포트 및 피어(Peer) 목록으로 제한되기 때문에 속도 제한 등은 아직 쿠버네티스의 인터페이스를 통해 제공되지 않는다. (이런 것들은 사용자 정의 네트워크 브리지를 사용해 컨테이너에서 직접 달성할 수 있다.)

베타로 승격된 또 다른 네트워킹 기능은 각 쿠버네티스 노드에서 구동하는 에이전트 소프트웨어인 쿠빌렛을 위한 자동 TLS 인증서 회전이다. 쿠버네티스가 내부적으로 사용하는 TLS 인증서는 수명이 1년이며 인증서 재생성을 잊기 십상이다. 새 기능이 활성화되면 쿠빌렛의 현재 인증서가 거의 만료되었을 때 새 인증서가 자동으로 생성된다.

쿠버네티스 1.8의 감사 기능
쿠버네티스 1.7에서 알파 기능으로 도입된 감사 기능은 쿠버네티스 1.8에서 베타 상태로 승격되었다. 여기에는 감사 로그 형식 지정, 기록할 수 있는 클러스터의 엘리먼트(Element)와 그 기록 주체를 제어하는 정책, 이벤트를 외부 서비스에 연계시키는 웹후크(Webhook)가 포함된다.

감사 기능이 베타로 승격되었기 때문에 감사 이벤트 형식은 하위 호환 변경사항만 가능하다. 즉, 쿠버네티스 개발자는 이 기능을 통해 프로덕션 기능 구축을 시작할 수 있다는 뜻이다. 감사 프레임워크를 위한 이런 하위 호환성의 예는 감사 이벤트로부터 RBAC 프로필을 생성할 수 있는 audit2rbac 툴이다.

쿠버네티스 1.8의 작업 부하 기능
쿠버네티스 1.8에서는 작업 부하 API도 알파에서 베타로 승격되었다. 이를 통해 배치(Batch) 작업 또는 실행되고 종료되는 크론(Cron) 스타일 작업 대비 지속해서 실행되는 대몬(Daemon) 등 전반적인 동작에 기초하여 애플리케이션을 조정할 수 있다.

일부 작업 부하 API는 다른 것들보다 먼저 베타 상태에서 승격된다. 대표적인 예로 Deployment, DaemonSet, ReplicaSet, StatefulSet는 쿠버네티스 1.9부터 완전 프로덕션 상태이다. 배치 API(Job 및 CronJob)도 나중에 그렇게 되겠지만 쿠버네티스 1.8은 개발자들에게 의도된 작동 방식에 대한 아이디어를 제공한다.

일부 애플리케이션은 이미 작업 부하 API를 사용하고 있지만 아직 임시적인 수준이다. 예를 들어, 아파치 스파크는 쿠버네티스에서 직접 동작하는 포크(Fork)가 있지만 이런 기능은 스파크나 쿠버네티스에서 한동안 공식적으로 제공되지 않을 것이다.

쿠버네티스 1.8의 기타 새 알파 및 베타 기능
이 외에도 아직 완성되지 않은 기능이 쿠버네티스 1.8에 알파 또는 베타 추가로 포함되어 있다.

cri-containerd(베타)를 통해 도커 대몬 대신에 컨테이너드(Containerd)를 사용할 수 있어 도커에 대한 직접 의존성을 줄일 수 있다.
볼륨 스냅샷(Snapshot)(알파)을 통해 쿠버네티스 API 호출을 이용해 쿠버네티스 볼륨의 스냅샷을 찍을 수 있다. 분명 당장 프로덕션에 적용할 수는 없다. 왜냐하면 스냅샷을 찍었을 때 일관성이 있는지도 확인하지 않기 때문이다.
• 볼륨 크기 조정(알파)으로 쿠버네티스 API 호출을 이용해 볼륨의 크기를 조정할 수 있다. 볼륨 크기 조정으로 기본 볼륨 크기만 변경될 뿐 해당 볼륨의 파일 시스템은 아무런 영향을 받지 않는다. 왜냐하면 파일 시스템은 고정되어 있지 않기 때문이다.
ciokr@idg.co.kr
 

CIO Korea 뉴스레터 및 IT 트랜드 보고서 무료 구독하기
Sponsored
추천 테크라이브러리

회사명:한국IDG 제호: CIO Korea 주소 : 서울시 중구 세종대로 23, 4층 우)04512
등록번호 : 서울 아01641 등록발행일자 : 2011년 05월 27일

발행인 : 박형미 편집인 : 천신응 청소년보호책임자 : 한정규
사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.