이제 K8s와 컨테이너 런타임 사이에 한단계 더 깊은 흐름을 살펴보겠습니다. 컨테이너 기술의 제일 아래 OS의 커널에서는 격리를 위한 chroot, cgroup, namespace 기술이 활용되고 있습니다. 이 Linux 커널 기술 위에 컨테이너 런타임이 실행되는 구조입니다. 초기 컨테이너에는 특별한 규격이나 런타임에 대한 표준화가 없다보니, Docker가 사실상의 컨테이너 표준을 자처했으며, CoreOS는 또 다른 규격으로 컨테이너 표준화를 추진하려 했었습니다 당시 다양한 타입의 컨테이너가 난립할 가능성이 점점 더 높아지자, 표준의 필요성이 대두되었습니다. 이 문제를 해결하기 위해 많은 플랫폼 기업들이 모여, 새로운 개방형 단체인 OCI(Open Container Initiative)를 구성하였고 컨테..
쿠버네티스는 이제 클라우드의 대표 기술로써, 다양한 생태계를 아우르고 있습니다. 다양한 생태계만큼이나 쿠버네티스의 기본 구성을 위한 조합들도 다양하며, 다양한 구성요소들의 흐름을 이해하는 것이 기술과 생태계의 이해에 많은 도움이 됩니다. 먼저 쿠버네티스의 뼈대를 이루는 운영체제인 Linux, 그리고 그 위에서 동작하는 Container Runtime, 컨테이너를 잘 사용할 수 있게 도와주는 Container Orchestration에 대한 기술의 흐름에 대해 알아 보겠습니다. 1. Linux K8s를 사용해보려고 할때, 제일 먼저 고민하는 부분이 어떤 OS에 구성을 할까입니다. 현재 대부분의 K8s를 구동하는 서버는 x86 기반의 LINUX가 대세를 이루고 있습니다. 과거 서버는 메인프레임 서버를 시작으..
1단계. ACK를 통한 S3 버킷 생성 - ACK 설치 확인 - IRSA 권한 추가 - 버킷 생성 및 확인 - 버킷 속성 업데이트 : Tag - 버킷 삭제 2단계. ACK를 통한 EC2 배포 - ACK 설치 확인 - IRSA 권한 추가 - VPC 생성 - subnet 생성 3단계. ACK를 통한 VPC workflow 배포 - 목표구성도 - 배포후 초기 상태 확인 - public 서브넷에 신규 인스턴스 생성 - 신규 생성된 EC2에 접속 후 ping 확인 - security group 변경 후 ping 확인 - private 서브넷에 신규 인스턴스 생성 - SSH 터널링 구성 통해 외부에서 private 서브넷에 위치한 EC2 인스턴스 접근 1) public 서브넷에 위치한 EC2에 SSH 터널링 구성 ..
클라우드 네이티브 형태의 애플리케이션이 늘어나면서, 결국은 수명주기가 짧고 많아진 애플리케이션들을 어떻게 관리할 것인가가 또 하나의 화두가 되었습니다. 베어메탈 서버에서 가상머신으로, 다시 컨테이너 그리고 K8s 로 흘러가면서 모든 관리는 자동화로 진화하고 있습니다. 개발자는 애플리케이션은 상태만을 선언하고, K8s에서 그 상태를 유지시켜주기 위해 알아서 관리하는 형태도 자동화의 한 형태라고 할 수 있습니다. EKS에서의 자동화는 API를 연동하거나 스크립트를 통해 구현할 수도 있지만, 단지 K8s에 대한 관리뿐만 아니라 추가적인 생태계에 대한 관리까지 자동화의 범위에 포함시키기 위해 다양한 솔루션들이 함께 사용되고 있습니다. 1. AWS Controller for Kubernetes(ACK) K8s를 ..
1단계. RBAC 관련 krew 플러그인 - access-matrix : 서비스 리소스별 RBAC access 정보 확인 - rbac-tool : rbac 관련 lookup, whoami policy-rules 등 여러가지 확인 기능 제공 - rbac-view : 웹을 통해 Cluster Roles와 Roles를 확인 - rolesum : 사용자, Service Account별 RBAC 역할에 대해 간략하게 요약 정리 ※ 2/3단계 참고 2단계 : 인증 과정 따라가기 - kubectl 관련 임시자격 토큰 요청 확인 : ~./kube/config 파일 내에 user 부분에서 요청 확인 : eks get-token --output json --cluster-name myeks --region ap-north..