쿠버네티스 12

[제니퍼 소프트] EKS 교육 - 3. Argo-CD를 이용한 GitOps 시스템 구축

많이 빠른 감이 있지만 EKS 교육 3번째로 GitOps, ArgoCD를 다루었다. 내가 EKS를 설치할 때 Argo-CD App-Of-Apps 패턴을 사용한다. 앞으로 애플리케이션을 설치할 때 ArgoCD를 이용할 예정이라 쿠버네티스 네트워크, 스토리지에 관한 설명 전에 ArgoCD부터 설명하였다. EKS, 쿠버네티스를 이미 사용하고 있는 독자라면 이해가 어렵지 않겠지만 그렇지 아닌 분들은 어려울 수도 있을 것 같다. 하지만 모든 것이 그렇듯이 처음이 어렵지 두번째는 그리 어렵지 않다. 일단 이해가 안되어도 간단한 실습으로 넘어가고 다시 보면 이해가 훨씬 잘 될 것이라 믿고 ArgoCD부터 다루었다. https://jennifersoft.com/ko/blog/tech/2023-08-30-jennifer..

[제니퍼 소프트] EKS 교육 - 2. 테라폼을 이용한 EKS 설치 및 로컬 관리 환경 구축

EKS 설치 관련된 글 입니다. EKS 교육 - https://jennifersoft.com/ko/blog/tech/2023-08-23-jennifer-kubernetes-2/ 2. 테라폼을 이용한 EKS 설치 및 로컬 관리 환경 구축 1. 코드를 이용한 쿠버네티스 설치의 장점 이 글을 읽으시는 독자가 쿠버네티스 담당자가 되어 EKS 설치 업무를 진행한다고 생각해 보겠습니다. EKS를 어떻게 설치하는 것이 좋을까요? 지금까지 jennifersoft.com

[제니퍼 소프트] EKS 교육 - 목차

제니퍼 소프트와 함께 매 주 EKS 교육 관련된 내용을 연재합니다. 앞으로 20주 간 기존에 제가 해 왔던 것처럼 실습 위주로 EKS를 알아갈 수 있도록 블로그 글을 연재합니다. 아래 제니퍼 소프트 홈페이지를 방문하시면 제가 기존에 작성했던 내용보다 훨씬 더 정리되고 검증된 버전의 글을 보실 수 있습니다. (제 블로그의 기존 EKS 교육 관련 글은 비공개 처리하였습니다.) https://jennifersoft.com/ko/blog/tech/kubernetes-tech-note-intro/ 제니퍼 쿠버네티스 기술노트 1. EKS 블로그 연재 목표 현대 기업의 가장 중요한 문제는 고객의 다양한 요구를 빠르고 안정적으로 제공하는 것입니다. 빠른 대응과 안정적인 운영이라는 양립하기 어려운 문제를 해결해야 합니 ..

파일시스템 기반 Loki 설치

로키를 이용하여 쿠버네티스 로깅 시스템을 사용하고 있다. 그런데 로키가 스토리지를 오브젝트 스토리지 기반으로 변경하고 있었다. 로키 헬름 차트의 기본 스토리지도 s3이고. 그라파나 로키 공식 홈페이지에서도 오브젝트를 스토리지 사용하는게 주요 장점이라 한다. 실 서비스 환경에서는 AWS를 사용하기에 로키를 큰 어려움없이 s3 기반으로 변경을 하였다. s3 사용하니 기존 파일시스템에 비하여 오브젝트 스토리지라 비용이 저렴하다.(사용한만큼만 지불해도 되고) 그리고 write, read 파드가 분리되고 각각 3개의 파드로 실행되어서 성능 향상이 된 것이 아주 컸다. 기존 파일 시스템 기반에서는 성능 문제로 로그 조회가 안되는 문제가 있었는데 어느 정도 해소되었다.(엘라스틱서치를 같이 사용하고 있기는 하다.) 하..

쿠버스택 창업?

최근에 미팅을 하고 가시다 스터디를 참가하다 보니 어렴풋이 가졌던 쿠버네티스를 가지고 회사를 만들어도 되지 않을까 하는 생각이 다시 든다. 쿠버네티스가 대세이고 사용하면 좋다는 것은 알겠는데 진입 장벽이 있어서 사용하기 어렵다고 말하는 사람들이 많다. 대기업, 스타트업, SI 업체 등. 어제 오늘 이야기도 아니고 한 3,4년 전부터 쭈욱. 그래서 OSC 코리아 이런데서 기존 SI랑 차별화해서 쿠버네티스에 특화된 SI, 컨설팅도 하고 OpenMSA 이런 것도 만드는 것 같고. (머 비슷한 사업 계획이 많이 있겠지.) 나도 비슷한 개념이다. 쿠버스택이라고(feat 오픈스택) 쿠버네티스를 실제 업무에 사용할 수준이 되도록 쿠버네티스 설치 + CI/CD + 모니터링/로깅/알람 + 네트워크(LB, Ingress)..

제 책이 나왔습니다.

https://product.kyobobook.co.kr/detail/S000200152893 24단계 실습으로 정복하는 쿠버네티스 | 이정훈 - 교보문고 24단계 실습으로 정복하는 쿠버네티스 | 실무 현장의 경험을 고스란히 담은 쿠버네티스 실습서!직접 해야만 알 수 있는 것들이 있습니다. 쿠버네티스도 마찬가지입니다. 쿠버네티스의 기반이 되 product.kyobobook.co.kr 고맙게도 예약 판매 기간에 사람들이 구매를 해 주셔서 인증 사진까지 보내 주었습니다. 새삼 항상 고마워하고 미안해하며 살아야겠다는 생각을 합니다. 모든 사람이 그렇겠지만 늘 빚지고 살고있구나 합니다. 조금이라도 빚 갚는다는 생각으로 살아야겠구나 합니다. 책도 그렇지만 부족한 제가 글을 쓴다는 건 항상 부끄럽습니다. 특히 대학..

Tailscale VPN for 쿠버네티스 & VPC

최근에 EKS, AWS VPC 환경에서 Tailscale VPN을 잘 사용하고 있어 내용을 공유한다. TL;DR Tailscale VPN을 1) EKS 환경에서 LoadBalancer, Ingress 등을 추가 설정하지 않고 ClusterIP 타입 그대로 VPN을 사용하는 사용자에게 외부 노출 2) EC2 사용하는 VPC의 전체 네트워크를 Tailscale VPN으로 연결 EC2 VM이 아닌 쿠버네티스 파드로 실행할 수 있어 EC2 VM 비용을 절감할 수 있다. 추가로 Deployment로 실행하면 파드 다운 시 자동 실행되니 관리 포인트도 줄어든다. ClusterIP는 YAML 파일에서 ClusterIP를 고정할 수 있어, 서비스를 재시작해도 IP가 변경되지 않는다. 쿠버네티스 DNS 이름을 그대로 사..

Kubernetes Ingress-NGINX on EKS

이직하고 EKS에 ingress-nginx 설정한 내용들 정리합니다. 1. Ingress-nginx on EKS 설정 내용 헬름 파일 이용 설치 LB 타입으로 CLB가 아닌 NLB 사용 AWS 인증서 적용 - 헬름 배포 시 변수 파일로 지정하여 설치 시 자동으로 적용되도록 AWS LB에서 TLS Termination 처리 설정 : NLB가 TLS 처리하고 이 후 백엔드는 Https to Http로 전달 443 port 남기고 default 80 port는 삭제 Default 헬름 차트 변수 파일(values.yaml) 수정 내역 서비스 annotations 수정 annotations: service.beta.kubernetes.io/aws-load-balancer-backend-protocol: tcp ..

로컬PC 원격 k8s 클러스터 관리

3일간의 행복한 OJT를 마치고 업무를 하고 있다. AWS, EKS는 처음인데 업무하면서 배우고 사용하는 것들을 짧게 TIL(Today I Learned) 형식으로 정리한다. 이곳에서는 EKS 관리를 2곳의 서버를 타고타고 넘어가서 kubectl 명령어를 치고 있었다. 쿠버네티스 스터디 때도 그러시는 분들이 있는데 원격 쿠버네티스를 개인 PC에서 관리할 수 있다. 물론 회사마다 보안 정책이 다르겠지만 만약 가능하다면 개인 PC에서 관리하는게 빠르고 정확하게 업무, 장애 처리가 가능하다. 장점으로 1) kubectl 기본 3총사 kube-ns, kube-ctx, kube-ps 사용 가능하고 2) YAML 파일 지옥을 비주얼 스튜디오 코드를 사용해서 조금 벗어날 수 있고 3) 기타 각 개인에 맞게 개발자가 ..

sniff - kubectl 환경 패킷 캡쳐 유틸리디

가시다님 스터디에서 ‘stewart’ 님이 공유해 주신 파드 패깃덤프 플러그인 sniff 사용 예제를 공유한다. sniff 사용하면 파드에 접속해서 tcpdump 명령어 실행하지 않아도 로컬PC에서 kubectl 명령어로 원격 파드의 패킷 덤프를 바로 실행할 수 있다. 패킷덤프는 그동안 귀찮아서 네트워크 엔지니어에게 미루었는데 내가 해보게 되고 여러모로 도움이 되는 스터디다. sniff 참고 https://github.com/eldadru/ksniff GitHub - eldadru/ksniff: Kubectl plugin to ease sniffing on kubernetes pods using tcpdump and wireshark Kubectl plugin to ease sniffing on kube..