분류 전체보기 772

엘라스틱서치 allocation장애 해결

장애접수 6시쯤 퇴근하려는 찰나 특정 엘라스틱서치에서 로그인이 안된다는 접수가 들어왔습니다. 처음에는 단순한 에러라고 생각했는데 시간이 지나갈수록 아니라는 것을 느꼈습니다. 증상 엘라스틱서치과 키바나는 쿠버네티스로 실행되고 있었습니다. probe검사를 통과하고 있어서 겉보기에 정상이었습니다. 신기하게도 엘라스틱서치는 로그인이 되는데 키바나는 로그인이 실패하는 것입니다. 🤔🤔🤔 같은 계정/비밀번호를 사용하는데 키바나만 실패하는 것이 너무 신기한 상황이었죠. 1차 장애복구 시도 계정/비밀번호 불일치 때문에 생긴 에러가 아니라는 것은 금방 알게되었습니다. 계정/비밀번호가 틀리면 invalid username/password라는 에러가 발생하는데, 에러 메세지는 "Oops. Error" 였습니다. 처음에는 단순..

회고모음 2023.03.20

pkos 스터디 2주차 2편 - AWS VPC CNI

이 글은 쿠버네티스에서 AWS VPC CNI 동작과정을 설명합니다. 몇 가지 선수지식이 필요합니다. 네트워크 인터페이스 iptables route table arp 프로토콜 AWS VPC 쿠버네티스 AWS VPC CNI란? AWS에서 쿠버네티스 설치를 하면, 네트워크 설정과 동작은 AWS 네트워크 환경에 영향을 받습니다. 그래서 AWS와 쿠버네티스 사이 적절한 중계자가 필요합니다. 그 역할을 수행하는 모듈이 AWS VPC CNI입니다. kops AWS VPC CNI 스터디에서 사용하는 kops 클러스터는 AWS VCP CNI를 지원합니다. AWS VPC CNI설치는 kops클러스터 생성할 때 networking인자로 설정합니다. kops create cluster \ --zones $ZONES \ --n..

연재 시리즈 2023.03.18

pkos 스터디 2주차 1편 - AWS volume 사용 원리

이 글은 쿠버네티스에서 AWS volume을 사용하는 원리와 방법을 설명합니다. 저는 kops를 이용하여 쿠버네티스를 설치했습니다. 동작원리 커스텀 쿠버네티스 controller을 만들어 AWS volume을 생성/수정/삭제를 관리합니다. 예를 들어 AWS EBS Controller는 pod가 AWS EBS volume가 생성 요청하면, AWS API를 사용하여 volume을 생성합니다. AWS volume이 생성되면, kubelet이 pod에 AWS volume을 연결합니다. 각 노드에 EBS daemonset pod가 kubelet과 함께 AWS volume을 pod에 연결합니다. 위 그림은 놀랍게도 chatgpt가 그려준 겁니다. mermaid라는 언어를 사용해서 chatgpt에게 관계도를 그려달라..

연재 시리즈 2023.03.18

기존 리소스가 있는 상태에서 helm release하면?

주제 기존 쿠버네티스 리소스가 있는 상태에서 똑같은 이름(.metatdata.name)으로 helm release를 하면 에러가 발생합니다. 에러 메세지는 아래와 같습니다. 왜 이 에러가 발생할까요? 예제코드: https://github.com/sungwook-practice/helm-release-error-case helm install helm-test ./charts 에러 메세지 키워드 exists and cannot be imported into the current release: invalid ownership metadata; label validation error: missing key "app.kubernetes.io/managed-by": must be set to "Helm"; a..