Kubernetes

    [7주차] AEWS Amazon EKS 워크숍 스터디 (23.06.04)

    [7주차] AEWS Amazon EKS 워크숍 스터디 (23.06.04)

    들어가며 이번 세미나에서는 EKS 환경에서의 Automation에 대해서 학습했다. AWS에서 제공하는 컨트롤러를 통해 리소스들을 K8s의 리소스처럼 사용하는 방법을 알게 되었다. 이전 세미나에서 배운 보안 개념(IRSA)이 기반이 되어 세미나 내용을 잘 따라갈 수 있었다. (기적의 세미나 커리큘럼은 무엇인가..) ACK(AWS Controller for K8s) ACK는 AWS 리소스를 k8s에서 직접 정의하고 사용할 수 있도록 개발한 오픈소스 프로젝트이다. AWS에 익숙하지 않은 사용자(예: 플랫폼 엔지니어)가 k8s native 하게 원하는 리소스를 정의하고 사용할 수 있도록 제공할 수 있으며, 그림과 같이 k8s에서 리소스를 관리하는 형태와 흡사하게 AWS리소스를 사용할 수 있다. 출처 - 링크 ..

    [3주차] AEWS Amazon EKS 워크숍 스터디 (23.05.07)

    [3주차] AEWS Amazon EKS 워크숍 스터디 (23.05.07)

    들어가며 이번 주차에는 EKS에서 저장공간을 관리하는 방법에 대해 학습했다. 스토리지 관리는 매우 중요하지만 필자는 자주 접해보진 못한 업무였다. 보통 테스트 서버 또는 운영서버에 할당된 리소스에 애플리케이션을 배포하거나, 필요한 경우 추가 저장소를 마운트 하는 정도로만 가끔 사용했었다. 저번 PKOS 스터디에서도 다양한 프로비저닝 방식을 배웟듯이 이번 세미나에서도 AWS에서 스토리지를 프로비저닝 하는 다양한 방식을 학습할 수 있었다. 이번 글의 주요 내용은 Kubernetes에서 주로 사용하는 스토리지인 PV/PVC를 AWS에서 제공하는 서비스와 연동하여 동적 프로비저닝 하는 것이다. Kubernetes 저장공간에 대하여 Kubernetes 에서 저장공간이란 Pod(Pod 내부의 컨테이너 애플리케이션)..

    [2주차] AEWS Amazon EKS 워크숍 스터디 (23.04.30)

    [2주차] AEWS Amazon EKS 워크숍 스터디 (23.04.30)

    들어가며 이번 주차에는 EKS Networking에 대해서 학습했다. 이전 PKOS 스터디에서도 네트워크 부분이 많이 어려웠는데, 실습과 과제를 통해서 개념을 한번더 다잡아 보는 시간이 되길 바라며 포스팅을 시작한다. 실습환경 세팅 2주차부터는 Amazon EKS를 CloudFormation을 이용하여 배포한다. 스터디 그룹장인 가시다님께서 작성하신 CloudFormation 파일은 1.24버전의 Kubernetes를 사용하는데, 실습의 애플리케이션과 addon의 호환성을 고려한 것이라고 한다. 또한 애플리케이션이 3개의 카피로 동기화 되는 경우가 있기 때문에 AZ가 3개로 구성하여 프로덕션 환경에 맞춰서 온디맨드 노드로 구성했다고 한다. kube-proxy, coredns, aws vpc-cni와 같은..

    [1주차] AEWS Amazon EKS 워크숍 스터디 (23.04.23)

    [1주차] AEWS Amazon EKS 워크숍 스터디 (23.04.23)

    들어가며 지난 PKOS(Production Kubernetes Online Study)에 이어 새로운 워크숍 스터디인 AEWS(AWS EKS Workshop Study)에 참여하게 되었다. PKOS에서는 kOps를 이용하여 클러스터 환경을 구축했었는데, 이번에는 업계에서 가장 많이 사용하고 있는 EKS(Amazon Elastic Kubernetes Service)를 기반으로 클러스터 환경을 구축한다. 자체 Kubernetes 컨트롤 플레인을 운영하고 유지 관리해야 했던 kOps와는 달리 EKS에서는 관리형 서비스 형태로 컨트롤 플레인을 사용할 수 있도록 해준다. 운영을 위해 숙지해야할 클러스터 환경에 대한 내용과 네트워크, 스토리지, 보안 개념 등을 배우게 된다. 이번 주차에는 Amazon EKS를 설치..

    [7주차] PKOS 쿠버네티스 실무 실습 스터디 (23.02.26)

    [7주차] PKOS 쿠버네티스 실무 실습 스터디 (23.02.26)

    스터디에서 진행하는 이론 및 실습은 PKOS 스터디 자료 및 이정훈 님의 "24단계 실습으로 정복하는 쿠버네티스" 서적의 내용을 기반으로 합니다. 24단계 실습으로 정복하는 쿠버네티스 | 위키북스 | 이정훈 | 링크 24단계 실습으로 정복하는 쿠버네티스 | 이정훈 - 교보문고 24단계 실습으로 정복하는 쿠버네티스 | 실무 현장의 경험을 고스란히 담은 쿠버네티스 실습서!직접 해야만 알 수 있는 것들이 있습니다. 쿠버네티스도 마찬가지입니다. 쿠버네티스의 기반이 되 product.kyobobook.co.kr 들어가며 이번 주 스터디에서는 kOps Cluster (Kubernetes Cluster)의 보안 구성에 대한 내용을 배웠다. 회사에서 개발하는 서비스를 오픈하기 전에 반드시 신경 써야 할 부분이 보안이다..

    [6주차] PKOS 쿠버네티스 실무 실습 스터디 (23.02.19)

    [6주차] PKOS 쿠버네티스 실무 실습 스터디 (23.02.19)

    스터디에서 진행하는 이론 및 실습은 PKOS 스터디 자료 및 이정훈 님의 "24단계 실습으로 정복하는 쿠버네티스" 서적의 내용을 기반으로 합니다. 24단계 실습으로 정복하는 쿠버네티스 | 위키북스 | 이정훈 | 링크 24단계 실습으로 정복하는 쿠버네티스 | 이정훈 - 교보문고 24단계 실습으로 정복하는 쿠버네티스 | 실무 현장의 경험을 고스란히 담은 쿠버네티스 실습서!직접 해야만 알 수 있는 것들이 있습니다. 쿠버네티스도 마찬가지입니다. 쿠버네티스의 기반이 되 product.kyobobook.co.kr 들어가며 이번 주 스터디에서는 kOps Cluster (Kubernetes Cluster)의 node들의 매트릭을 통해 Slack으로 알림을 전송하고, Pod들의 Log를 수집한 후 Grafana에서 모니..

    [5주차] PKOS 쿠버네티스 실무 실습 스터디 (23.02.12)

    [5주차] PKOS 쿠버네티스 실무 실습 스터디 (23.02.12)

    들어가며 이번주 스터디에서는 kOps Cluster (Kubernetes Cluster)의 node들의 매트릭을 수집하는 방법에 대하여 학습했다. kOps 클러스터에 매트릭 서버를 설치한 다음 각 노드들의 Kubelet에 존재하는 cAdvisor가 수집한 데이터를 Prometheus에 단일 차트화 한 다음 Grafana를 통해 시각화를 하는 방법에 대해 알 수 있었다. 스터디 내용에 앞서 간략하게 두 OSS (Open Source Software)에 대해 알아보자. Prometheus Prometheus는 이벤트 모니터링과 경고에 사용되는 무료 소프트웨어 애플리케이션 툴이다. 유연한 쿼리와 실시간 경고 기능이 있으며 시계열 데이터베이스에 실시간 매트릭을 기록한다. CNCF Graduated 프로젝트다. ..

    [4주차] PKOS 쿠버네티스 실무 실습 스터디 (23.02.04)

    [4주차] PKOS 쿠버네티스 실무 실습 스터디 (23.02.04)

    들어가며 이번 글에서는 지난주 kOps기반 gitOps 기술에 대한 스터디에서 배운 내용을 정리하도록 한다. GitOps는 평소에도 관심 가지고 부서에 도입하고자 했던 기술이었고, 이 내용을 스터디에서 다루게 되어 좋았다. 사용한 OSS(Open Source Software)인 Harbor, Gitlab, ArgoCD는 목적에 따라 개별적으로 프로젝트에 적용해 본 경험이 있었다. 스터디에서 한번에 연계해서 사용해보고 나니 생각보다 난이도가 높지 않고 적용해 볼 만하다 싶었다. 스터디 진행전 간단하게 각 OSS의 소개 및 용도에 대해 간략히히 정리하고 넘어가도록 한다. Harbor 오픈소스 기반 이미지 레지스트리로써, 다른 SaaS형 이미지 레지스트리와 다르게 Onpremeis와 같은 격리된 환경에서 직접..

    [2주차] PKOS 쿠버네티스 실무 실습 스터디 (23.01.15)

    [2주차] PKOS 쿠버네티스 실무 실습 스터디 (23.01.15)

    들어가며 이번 글에서는 Kubernetes Network에 대해 스터디에서 배운 내용을 정리하도록 한다. Kubernetes는 클러스터 내부 통신을 위해 Network Plugin을 사용한다. 플러그인은 CNI(Container Network Interface)를 사용한 다양한 오픈소스를 이용하는데, 그중 Calico를 많이 사용하는 것 같다. 사내에 구축한 Kubernetes Cluster 역시 Calico 기반이다. Kubernetes Pod는 Container들로 구성되는데 Pod의 Pause 컨테이너를 통해 하나의 IP를 할당할 수 있다. (Container 개별적으로 접근하려면 Port를 이용해야 한다.) Pod 들은 Node(Host)의 이더넷 카드를 이용하여 외부로 통신한다. 여기서 외부는 ..

    [1주차] PKOS 쿠버네티스 실무 실습 스터디 (23.01.08)

    [1주차] PKOS 쿠버네티스 실무 실습 스터디 (23.01.08)

    들어가며 사내 실험용 서버팜을 EKS 기반으로 구축하기 위해 노력 중이었다. 그러던 중 AWS 환경에서 쿠버네티스 실무 실습 스터디 모집을 한다는 소식을 우연히 접하게 되어 바로 신청했고, 운이 좋게 40여 명의 스터디 인원중 한 명으로 참여할 수 있게 되었다. AWS가 아직은 익숙하지 않았기에, ‘이번 기회에 열공 해서 제대로 감을 잡아 보자!’ 하는 마음으로 보내주신 스터디 사전 지식들을 학습하기 시작했다. 지난 일요일(23.01.08) 본격적으로 1주차 실습에 임하게 되었다. 스터디는 정말 군더더기 없이 유용한 정보들과 함께 빠르게 진행되었다. 스터디 리더이신 가시다님께서 커리큘럼과 진행에 대해 많은 고민을 하신 것이 온몸으로 느껴졌다. 아직 스터디를 접하지 못한 Cloud 또는 DevOps 엔지니..

    컨테이너 오케스트레이션(Container Orchestration)이란?

    컨테이너 오케스트레이션(Container Orchestration)이란?

    이번 포스트에서는 RedHat에서 정의한 컨테이너 오케스트레이션(Container Orchestration)에 대해서 정리해 보았다. 컨테이너 오케스트레이션: 컨테이너의 배포, 관리, 확장, 네트워킹을 자동화 하는 기술을 말한다. 1. 컨테이너 오케스트레이션이 사용되는 분야 프로비저닝 및 배포 설정 및 스케줄링 리소스 할당 컨테이너 가용성 증가 인프라 전반의 워크로드 밸런싱을 기반으로 컨테이너 스케일링 또는 제거 로드 밸런싱 및 트래픽 라우팅 컨테이너 모니터링 실행될 컨테이너를 기반으로 애플리케이션 설정 컨테이너 간 보안유지 2. 컨테이너 오케스트레이션 툴 Docker Swarm Apache Mesos 쿠버네티스(Kubernetes) 3. 컨테이너 오케스트레이션의 작동 방식 쿠버네티스와 같은 컨테이너 오..

    쿠버네티스(Kubernetes) 공식 튜토리얼 #7

    쿠버네티스(Kubernetes) 공식 튜토리얼 #7

    이번 포스팅에서는 지난 포스팅에 이어 공식 튜토리얼 마지막 단계인 6단계를 실습해 보도록 한다. 2021.04.04 - [클라우드 컴퓨팅 & NoSQL] - 쿠버네티스(Kubernetes) 공식 튜토리얼 #6 쿠버네티스(Kubernetes) 공식 튜토리얼 #6 이번 포스팅에서는 지난 포스팅에 이어 공식 튜토리얼 5단계를 실습해 보도록 한다. 2021.04.03 - [클라우드 컴퓨팅 & NoSQL] - 쿠버네티스(Kubernetes) 공식 튜토리얼 #5 쿠버네티스(Kubernetes) 공식 튜토리 devlos.tistory.com 튜토리얼 모듈 6은 "Performing a Rolling Update"에 관한 것이다. 이번 시나리오의 목표는 deploy된 애플리케이션을 Kubectl set imagne로 ..

    쿠버네티스(Kubernetes) 공식 튜토리얼 #6

    쿠버네티스(Kubernetes) 공식 튜토리얼 #6

    이번 포스팅에서는 지난 포스팅에 이어 공식 튜토리얼 5단계를 실습해 보도록 한다. 2021.04.03 - [클라우드 컴퓨팅 & NoSQL] - 쿠버네티스(Kubernetes) 공식 튜토리얼 #5 쿠버네티스(Kubernetes) 공식 튜토리얼 #5 이번 포스팅에서는 지난 포스팅에 이어 공식 튜토리얼 4단계를 실습해 보도록 한다. 2021.04.02 - [클라우드 컴퓨팅 & NoSQL] - 쿠버네티스(Kubernetes) 공식 튜토리얼 #4 쿠버네티스(Kubernetes) 공식 튜토리 devlos.tistory.com 튜토리얼 모듈 5는 "Running Multiple Instances of Your App"에 관한 것이다. 쿠버네티스 kubectl scale을 이용하여 Depolyment를 확장하고 로드벨..

    쿠버네티스(Kubernetes) 공식 튜토리얼 #5

    쿠버네티스(Kubernetes) 공식 튜토리얼 #5

    이번 포스팅에서는 지난 포스팅에 이어 공식 튜토리얼 4단계를 실습해 보도록 한다. 2021.04.02 - [클라우드 컴퓨팅 & NoSQL] - 쿠버네티스(Kubernetes) 공식 튜토리얼 #4 쿠버네티스(Kubernetes) 공식 튜토리얼 #4 이번 포스팅에서는 지난 포스팅에 이어 공식 튜토리얼 3단계를 실습해 보도록 한다. 2021.04.01 - [분류 전체보기] - 쿠버네티스(Kubernetes) 공식 튜토리얼 #3 쿠버네티스(Kubernetes) 공식 튜토리얼 #3 이 devlos.tistory.com 튜토리얼 모듈 4는 service를 이용하여 어플리케이션을 expose 하는 방법에 대한 것이다. 1. kubectl get pods 실행 $ kubectl get pods 이전 포스트에서 언급했드..

    쿠버네티스(Kubernetes) 공식 튜토리얼 #4

    쿠버네티스(Kubernetes) 공식 튜토리얼 #4

    이번 포스팅에서는 지난 포스팅에 이어 공식 튜토리얼 3단계를 실습해 보도록 한다. 2021.04.01 - [분류 전체보기] - 쿠버네티스(Kubernetes) 공식 튜토리얼 #3 쿠버네티스(Kubernetes) 공식 튜토리얼 #3 이번 포스팅에서는 지난 포스팅에 이어 공식 튜토리얼 2단계를 실습해 보도록 한다. 2021.04.01 - [분류 전체보기] - 쿠버네티스( Kubernetes) 공식 튜토리얼 #2 쿠버네티스( Kubernetes) 공식 튜토리얼 #2 이 devlos.tistory.com 튜토리얼 모듈 3는 kubectl 을 이용하여 Kubernetes 어플리케이션의 trubleshooting을 하는 방법에 대한 것이다. 1. kubectl get 실행 $ kubectl get pods Kube..

    쿠버네티스(Kubernetes) 공식 튜토리얼 #3

    쿠버네티스(Kubernetes) 공식 튜토리얼 #3

    이번 포스팅에서는 지난 포스팅에 이어 공식 튜토리얼 2단계를 실습해 보도록 한다. 2021.04.01 - [분류 전체보기] - 쿠버네티스( Kubernetes) 공식 튜토리얼 #2 쿠버네티스( Kubernetes) 공식 튜토리얼 #2 이번 포스팅에서는 지난 포스팅에서 소개했던 쿠버네티스 공식 튜토리얼 2021.03.31 - [클라우드 컴퓨팅 & NoSQL] - 쿠버네티스( Kubernetes) 공식 튜토리얼 #1 쿠버네티스( Kubernetes) 공식 튜토리얼 #1 쿠버 devlos.tistory.com 튜토리얼 모듈 2는 쿠버네티스에 App을 deploy 하는 기능에 대한 것이다. 1. kubectl version 클릭 $ kubectl version 다음으로 kubectl의 버전을 확인하는 명령어를 ..

    쿠버네티스( Kubernetes) 공식 튜토리얼 #2

    쿠버네티스( Kubernetes) 공식 튜토리얼 #2

    이번 포스팅에서는 지난 포스팅에서 소개했던 쿠버네티스 공식 튜토리얼 2021.03.31 - [클라우드 컴퓨팅 & NoSQL] - 쿠버네티스( Kubernetes) 공식 튜토리얼 #1 쿠버네티스( Kubernetes) 공식 튜토리얼 #1 쿠버네티스 공식 도큐먼트를 확인하다가 6가지의 기초 튜토리얼 과정을 소개한다. 대화형 튜토리얼을 사용해서 다음과 같은 내용을 배울 수 있다. 컨테이너화 된 애플리케이션을 클러스터에 배 devlos.tistory.com 중에서 클러스터 생성하기를 실습해 보도록 한다. 1. 실습하기 선택 다음 그림과 같이 대화형 튜토리얼 시작하기 버튼을 누르면 가상의 CLI 환경이 보인다. 첫 번째 모듈은 쿠버네티스 클러스터를 실행하는 과정을 실습할 수 있도록 환경을 제공한다. 터미널 창에 ..

    쿠버네티스( Kubernetes) 공식 튜토리얼 #1

    쿠버네티스( Kubernetes) 공식 튜토리얼 #1

    쿠버네티스 공식 도큐먼트를 확인하다가 6가지의 기초 튜토리얼 과정을 소개한다. 대화형 튜토리얼을 사용해서 다음과 같은 내용을 배울 수 있다. 컨테이너화 된 애플리케이션을 클러스터에 배포하는 법 디플로이먼트 스케일링하기 컨테이너화 된 애플리케이션을 새로운 버전으로 업데이트하기 컨테이너화된 애플리케이션 디버그 하기 환경: Minikube 본 튜토리얼을 활용하면 지금까지 학습한 개념들을 체감하는데 도움이 될 것 같다. 서버를 준비할 필요 없이 브라우저 CLI 환경으로 튜토리얼 진행 가능하다. 다음 글에서 튜토리얼을 진행내용을 정리해 보려고 한다. 2021.04.01 - [분류 전체보기] - 쿠버네티스( Kubernetes) 공식 튜토리얼 #2 쿠버네티스( Kubernetes) 공식 튜토리얼 #2 이번 포스팅에..

    쿠버네티스 컴포넌트(component)

    쿠버네티스 컴포넌트(component)

    쿠버네티스의 아키텍처를 이해하기 위해 공식 설명자료에 있는 도식을 여러 문헌을 참고하여 작성해 보았다. 역시 여러 문헌을 참고하다보니 애매모호한 부분이 많이 사라지는 것 같다. 다음은 새로 정리한 쿠버네티스 클러스터 다이어그램이다. 공식 문서에는 더욱 자세한 내용이 있으니 참고하면 좋을 것 같다. 참고자료 [1] kubernetes.io | Kubernetes Component | 링크 Kubernetes Components A Kubernetes cluster consists of the components that represent the control plane and a set of machines called nodes. kubernetes.io [2] 15단계로 배우는 도커와 쿠버네티스 | 타..

    쿠버네티스(Kubernetes)가 해결하는 과제

    쿠버네티스(Kubernetes)가 해결하는 과제

    2021.03.28 - [클라우드 컴퓨팅 & NoSQL] - 쿠버네티스(Kubernetes) 란? 이전 글에 이어서 쿠버네티스가 해결하는 과제에 대해서 살펴본다. 도커(Docker)와 쿠버네티스를 이용해 해결할 수 있는 9가지 과제 1. 애플리케이션의 빈번한 출시 대응 쿠버네티스의 롤아웃(roll-out)과 롤백(roll-back) 기능은 새로운 기능을 빈번하게 출시하고 버그 수정을 긴급 투입하는 것과 같은 민감한 작업을 안전하게 자동화해 준다. 정식 운영 중인 서비스의 애플리케이션 컨테이너를 무정지로 교체할 수 있다. 2. 무정지 서비스 쿠버네티스의 자기 회복 기능은 무정지 서비스 운영을 도와준다. 응답이 없어진 컨테이너를 재기동하며, 쿠버네티스 클러스터 내에 지정한 수만큼 컨테이너가 돌도록 관리해 준..