반응형

Kubernetes 42

GitOps : Tekton, ArgoCD 로 CI/CD 하기

Tekton, ArgoCD 를 결합한 CI/CD, GitOps 구현 예제를 작성해보겠다. 간단한 FastAPI 를 배포하는 예제이다. 구조예제를 위한 평범한 GitOps 구조를 그려봤다.FastAPI app에 추가 변경사항을 반영해서 Repo를 업데이트하고나서 Tekton PipelineRun 으로 Trigger를 한다. 그러면 Tekton Pipeline에 정의된 순서대로 Task 3개가 동작을 시작한다. App repo를 clone 해와서 build 하고 DockerHub에 push한다. 이 과정에서 나온 image tag를 GitOps repo에 업데이트 한다. Slack으로 완료 메시지를 보낸다.ArgoCD가 에 있던 GitOps 대상 파일의 변경을 감지한다. 수동으로 deploy를 누르면 대상 ..

Kubernetes 2023.03.24

[스터디] Kubernetes Container Networking 정리

PKOS2주차의 주제는 Networking 이다. 그 중에서도 Container networking 에 대해 정리해보려고 한다. Kubernetes networking의 고려사항 이 문서를 보면 어떤 고민들을 갖고 쿠버네티스의 네트워킹 모델이 등장했는지를 알 수 있다. https://kubernetes.io/ko/docs/concepts/cluster-administration/networking/ 💡 쿠버네티스는 애플리케이션 간에 머신을 공유하는 것이 핵심입니다. 일반적으로 머신을 공유하려면 두 애플리케이션이 동일한 포트를 사용하려고 시도하지 않도록 해야 합니다. 여러 개발자가 포트를 조정하는 것은 대규모로 수행하기가 매우 어렵고 사용자가 제어할 수 없는 클러스터 수준의 문제에 노출될 수 있습니다. ..

Kubernetes 2023.03.18

[스터디] PKOS 스터디 1주차 Kops 개념 및 실습

CloudNeta Kubernetes 스터디 시작 3월부터 가시다님의 CloudNeta Kubernetes 스터디에 합류했다. 이에 각 주차별 학습 내용을 정리해야 한다. 1주차의 내용은 KOPS를 사용한 K8S 환경 구축이다. KOPS란 무엇인가? Kubernetes KOPS는 Cloud 환경에서 Kubernetes 클러스터를 쉽게 배포, 관리 및 업그레이드할 수 있는 오픈소스 도구이다. KOPS는 클러스터를 생성, 업데이트 및 삭제하는 프로세스를 자동화한다. AWS, GCP 같은 CSP사의 환경에서 사용할 수 있다는데, Kops 깃허브에 가보면 DigitalOcean, Hetzner, OpenStack은 베타 지원, Azure는 알파 지원 중이라고 한다. KOPS는 클라우드에 Kubernetes 클러..

Study 2023.03.11

Kubernetes cluster에 Locust를 올려서 분산 부하 테스트한 후기

TL; DR helm repo add deliveryhero https://charts.deliveryhero.io/ helm install deliveryhero/locust kubectl create configmap my-loadtest-locustfile --from-file path/to/your/main.py helm install locust deliveryhero/locust \ --set loadtest.name=my-loadtest \ --set loadtest.locust_locustfile_configmap=my-loadtest-locustfile 배경 Locust를 이용한 부하 테스트를 자주해야 하고 그 범위가 다양하다면 worker 수를 scalable 하게 다루고 싶어질 수 있..

Kubernetes 2023.01.08

[스터디] Terraform의 개념부터 간단한 Terraform Registry 사용까지

멋진 CloudNeta 팀의 스터디에 이번에도 합류하게 되었다. 이번 주제는 Terraform 이다. 이번 스터디는 "테라폼 업앤러닝" 이라는 도서를 가지고 진행한다. Terraform 이라는건 IaC(Infra as Code)를 구현하는 도구이다. 왜 IaC인가? IaC, 그러니까 코드형 인프라는 왜 배우고 왜 써야 하는걸까? Infra As Code 라는 것인데, 선언적인 언어를 사용하여 인프라를 코드로 정의한다는 뜻이다. 그럼 운영환경을 완전하게 이식해서 코드로 관리할 수 있는걸까? 실수는 생기지 않을까? 이런 의문이 들법 하지만 일단 책에서 강조하는 IaC의 장점을 보면 아래와 같은 내용을 설명하고 있다. 자급식 배포 : 소수의 관리자가 점유하고 있는 인프라가 아니라 개발자가 필요할 때마다 배포를..

Study 2022.10.30

[북 리뷰] 클라우드 네이티브 애플리케이션 디자인 패턴

클라우드 네이티브 라는 말을 많이 듣기는 했지만 무슨 뜻인지 어렴풋이 짐작만 할 뿐이었는데, 이 책에서 그에 대해 설명을 한다. CNCF에서 내세운 정의를 언급하는데, "퍼블릭이나 프라이빗, 하이브리드, 멀티 클라우드와 같은 환경에서 실행할 수 있는 독립적인 비즈니스 기능 중심의 마이크로서비스들을 느슨하게 결합하여, 크기 조절이 가능하고 탄력적이며 관리와 관찰이 용이한 자동화된 소프트웨어 애플리케이션을 만드는 것" 이라고 설명한다. 와, 저러면 좋겠다 라는 생각이 드는 말이다. 저런게 클라우드 네이티브구나. 직무 특성상 자연스럽게 클라우드 환경에서 쿠버네티스를 다루게 되는 일이 많다. 컨테이너로 격리된 실험 환경, GPU 리소스의 자연스러운 분배, 각기 다른 다양한 모델의 서빙 테스트 들을 수행하기 위해..

Book 2022.07.24

[스터디] DOIK - Kafka & Strimzi Operator 배포 및 테스트

지난 번에 이어 쿠버네티스 데이터베이스 오퍼레이터 스터디에서 진행한 학습의 실습한 내용을 기록한다. 이번 내용은 Strimzi Operator를 통해 Kafka를 쿠버네티스 상에 배포하고 테스트한 내용이다. Strimzi 설명 Stirimzi Operator의 기능 Strimzi는 쿠버네티스 환경에서 Kafka를 운영하기 위해서 만들어진 Operator이다. Operator로서 동작하기 때문에 Kafka의 많은 동작을 쿠버네티스에서 사용할 수 있도록 해준다. 간략하게 카프카 클러스터/구성요소 배포 및 관리, 카프카 접속 설정, 카프카 업그레이드, 브로커 brokers 관리, 토픽 topic 과 유저 user 생성 및 관리를 한다고 할 수 있다. 상세한 목록은 다음과 같다. Manages the Kafka..

Kubernetes 2022.06.25

[스터디] DOIK - MySQL DB Kubernetes Operator 배포 및 테스트

쿠버네티스 데이터베이스 오퍼레이터 스터디라는 훌륭한 스터디에 참여하게 되었다. 가시다님이 진행하시는 스터디인데 그전에 명성은 들어보았으나 역시 아주 알차다. 이번 스터디에서는 데이터베이스를 오퍼레이터 패턴으로 쿠버네티스에 배포하고 운영하는 법을 배운다. 이 글은 스터디 1~3주차를 진행하면서 실습한 내용을 기록하기 위한 글이다. 쿠버네티스 오퍼레이터란? 쿠버네티스 문서의 오퍼레이터 항목을 읽어보면 오퍼레이터(Operator)는 사용자 정의 리소스 Custom Resource를 사용하여 애플리케이션 및 해당 컴포넌트를 관리하는 쿠버네티스의 소프트웨어 익스텐션이다. 오퍼레이터는 쿠버네티스 원칙, 특히 컨트롤 루프를 따른다. ... 쿠버네티스는 자동화를 위해 설계되었다. 기본적으로 쿠버네티스의 중추를 통해 ..

Study 2022.06.05

이미지 예측 모델을 쿠버네티스에 배포하기 A to Z (Kubernetes Kubeflow KFServing InferenceService Custom Image)

글 작성일 : 2020.11.18 Kubeflow KFServing InferenceService의 Custom Image를 쓰는 이유와 다른 점 이번 글은 이미지 예측 모델을 Kuberentes에 배포해서 이미지를 업로드 하고 예측 결과와 그 확률을 받아보는 구조를 만드는 내용이다. KFServing InferenceService Custom Image 사용자 이미지를 이용해서 Kubernetes에서의 서빙을 해본다. 전 글에서 포스팅 한 내용은 사용자가 KFServing InferenceService 매니페스트에 Tensorflow pb파일의 경로를 지정해주면 KFServing에서 알아서 Tensorflow Serving을 사용해서 배포를 해주는 구조였다. 하지만 Custom Image를 사용하면 유..

MLOps 2022.01.05

CKA 합격 후기 및 준비하는 법 공유

글 작성일: 2021.12.07 TL; DR Certified Kubernetes Administrator (CKA) with Practice Tests 강의 두번 반복 Kubernetes Documentation을 참고하면서 문제를 푸는 데 익숙해지자. 크롬, 비발디 브라우저와 북마크를 미리 준비해두자. 2021년이 되면서 세운 목표 중의 하나가 CKA, Certified Kubernetes Administrator 자격증을 따는 것이었으나 바쁜 업무를 핑계로 차일피일 미루고만 있었다. 매년 그렇지만 연말이 다가오면 게을러지고 공부하기가 싫어지는데 목표 달성을 위해 결국 꾸역꾸역 시험을 등록하고 말았다. CKA 시험권은 Linux Foundation의 Cybermonday 할인행사 때 싸게 사두었기 때..

Kubernetes 2022.01.05
반응형