kubernetes 90

security group for pod 1편: EKS cluster security group과 불편한점

안녕하세요. 이 글은 security group for pod 시리즈 중 첫번째 글입니다. security group for pod를 사용하기 앞서 왜 등장하게 이 기능이 등장하게 되었는지 배경을 설명합니다. security group for pod 시리즈 목차 EKS cluster security group과 불편한점: https://malwareanalysis.tistory.com/648 pod에 security group적용 방법: https://malwareanalysis.tistory.com/649 1. security group for pod란? security group for pod는 pod에 security group(이하 SG)을 바로 적용하는 기능입니다. EKS관점에서 SG for p..

쿠버네티스 pod running과 ready 차이

팀 동료분이 질문주신 내용 중에 pod Running상태와 Ready가 뭐가 다른지 물어봤습니다. 저는 정확하게 몰라 같이 공부해보자고 답변을 하고 어떤 차이가 있는지 공부했습니다. 이 글에서 다루는 예제코드는 github에 공개되어 있습니다. github링크: https://github.com/choisungwook/pod_running_and_ready 1. 선수지식: pod의 컨테이너 pod는 1개 이상 컨테이너를 갖습니다. 예를 들어 아래 pod는 컨테이너 2개(nginx, busybox)를 갖습니다. 컨테이너 갯수는 kubectl get pod 결과에서 READY필드에 표시됩니다. 예제코드: https://github.com/choisungwook/pod_running_and_ready/tree..

Argocd rbac 테스트

팀 동료님이 사내 채팅에 argocd 권한 테스트에 대한 내용을 공유해주셨습니다. 공유한 글을 보다가 궁금한 점이 있어 몇 가지 테스트를 진행했습니다. 1. 테스트 목록 readonly권한에서 argocd application sync가 되는지? 거부(deny)권한 우선순위 2. 테스트 환경구축 테스트를 진행하기 위해 쿠버네티스와 argocd, argocd application이 필요합니다. 저는 쿠버네티스를 kind cluster로 사용했고 argocd는 kustomize로 했고 argocd버전은 v2.6.2입니다. argocd application은 argocd 공식 예제를 사용했습니다. 테스트 환경 구축과정은 이 글 마지막 부록 챕터를 참고해주세요. 테스트 환경에는 테스트에 필요한 계정과 권한을 생..

쿠버네티스 kubectl 유틸리티 도구

이 글은 kubectl명령어 사용을 도와주는 유틸리티 도구를 소개합니다. kubectl 유틸리티 도구는 자동완성, 긴 명령어 축약 등이 있습니다. 이 글에서 사용하는 예제는 제 github에 있습니다. ※ 링크: https://github.com/choisungwook/kubectl_plugins 영상: https://youtu.be/UfKZPEk6D0k autocomplete(자동완성) autocomplete은 kubectl 명령어를 자동완성합니다. 설치방법 설치방법은 사용하는 쉘에 따라 다릅니다. bash쉘 기준으로 설치방법은 아래와 같습니다. apt-get install bash-completion source >~/.bashrc alias k alias는 kubectl명령어를 k로 단축해줍니다. ..

프로메테우스 오퍼레이터에서 pod label수집

프로메테우스 오퍼레이터 디폴트 설정 프로메테우스 오퍼레이터 기본 helm values를 사용하면, pod label이 메트릭으로 수집되지 않습니다. pod 메트릭을 생성하는 kube-state-metrics가 pod label을 수집하지 않기 때문입니다. ※ 시연: https://youtube.com/shorts/71LUdFCtQy8?feature=share 메트릭에서 pod label수집 설정방법 그래서 helm values에서 kube-state-metrics필드를 수정해야 합니다. metricLabelAllowlist필드에 모든 pod label을 수집하도록 설정합니다. kube-state-metrics: metricLabelsAllowlist: - pods=[*] ... 수정한 helm value..

EKS 스터디 - 7주차 flux 예제

이 글은 flux가 무엇이고 간단한 예제를 살펴봅니다. 예제를 쉽게 따라하기 위해 모든 예제는 flux CLI를 사용합니다. flux란? flux는 쿠버네티스를 위한 gitops 도구입니다. flux는 git에 있는 쿠버네티스를 manifest를 읽고, 쿠버네티스에 manifest를 배포합니다. flux와 argocd 비교 flux는 argocd와 같은 역할을 하고 있어 비교대상으로 자주 언급됩니다. flux를 잠깐 써본 경험으로, flux는 argocd에 비해 kustomize에 매우 특화된 도구로 느꼈습니다. argocd는 kustomize를 사용할 때 디폴트 설정이 부족하기 때문에, argocd configmap에서 kustomize옵션을 한땀한땀 설정해야 합니다. 반면에 flux는 바로 kusto..

연재 시리즈 2023.06.04