검색결과 리스트
IT에 해당되는 글 86건
- 2022.08.19 ArgoCD 헬름차트 + ALB 인그레스 리디렉션 무한루프 해결책
- 2022.08.19 AWS EC2 Amazonlinux2 homebrew 인스톨
- 2022.08.17 linkerd 파는 중
- 2022.08.08 Jaeger / Telemetry 텔레메트리 Feat. 예거
- 2022.08.01 EKS nginx 인그레스 Dynamic Config 관련 no connection drop
- 2022.07.22 헬름차트 - 예거 트레이서와 프로메테우스 상호간 버그
글
ArgoCD 헬름차트 + ALB 인그레스 리디렉션 무한루프 해결책
아르고CD에 함정이 있댜
LB에서 뒤로 보낼 때 꼭 프로토콜 HTTPS로 해서 보내셈
안그러면 443 리디렉션 무한루프 타는 버그가 있음 ㅇㅇㅇ
kind: Ingress
apiVersion: networking.k8s.io/v1
metadata:
annotations:
kubernetes.io/ingress.class: alb #ALB 인그레스 컨트롤러 설치했다면 아마 디폴트로 이 이름일것임
alb.ingress.kubernetes.io/subnets: 서브넷id-a, b, c
alb.ingress.kubernetes.io/scheme: internet-facing #퍼블릭
alb.ingress.kubernetes.io/target-type: ip
alb.ingress.kubernetes.io/backend-protocol: HTTPS #이거 주의하셈. HTTP가 아니라 https로 박으셈. 내가 보기에 무한루프 리디렉션 버그로 보임
alb.ingress.kubernetes.io/actions.response-404: '{"Type": "fixed-response", "FixedResponseConfig": {"ContentType":"text/plain", "StatusCode":"404", "MessageBody":"404 page not found"}}'
alb.ingress.kubernetes.io/inbound-cidrs: "1.2.3.4/32" #대충 인바운드 SG
alb.ingress.kubernetes.io/certificate-arn: ACM인증서 arn임
alb.ingress.kubernetes.io/listen-ports: '[{"HTTPS":443}, {"HTTP":80}]'
alb.ingress.kubernetes.io/healthcheck-path: /
name: argocd-ingress
namespace: argocd
spec:
rules:
- http:
paths:
- backend:
service:
name: argo-cd-argocd-server # SVC명인데, 이거 argocd 헬름차트로 설치하면 {릴리즈명}-argocd-server로 되니까 참고하셈
port:
number: 80 # 443으로는 안보내봤음. 기타 사람들 확인바람
path: /*
pathType: Prefix
대충 내 환경에서 정상 동작한 인그레스 yaml.임
pathType은 공홈 참조 고고. 아마 아르고 공홈에선 Imple을 디폴트로 박았을것임.
아 그리고 내가 헬름차트로 설치한 argo는 다음과 같음.
value 파일에는 HA구성대신 전부 싱글로 설치되는 옵션임.
상세 옵션값은 아티팩트허브 들어가보길 권장함 ㅇㅇ. 헬름 레파랑 뭐 등등 설치하는것 가이드 간단하게 나와있음.
https://artifacthub.io/packages/helm/argo/argo-cd
아 헬름 value 자체에 인그레스 설정값 박을 수 있는데, 레퍼런스가 없어서 그냥 쿠버 독립 인그레스 템플릿으로 배포해도 됨. (위에 내가 한 방식 ㅇㅇ)
아르고 서버 헬름 값의 인그레스 value임. 궁금한 점 있으면 레퍼런스 많이 나올거같음 ㅇㅇ;
무튼 argo CD 인그레스를 ALB로 설치한다면 조심하셈들
'IT > EKS' 카테고리의 다른 글
아르고CD 계정관리 (0) | 2022.08.24 |
---|---|
ArgoCD 아르고 오토싱크 interval (0) | 2022.08.19 |
AWS EC2 Amazonlinux2 homebrew 인스톨 (0) | 2022.08.19 |
linkerd 파는 중 (0) | 2022.08.17 |
Jaeger / Telemetry 텔레메트리 Feat. 예거 (0) | 2022.08.08 |
글
AWS EC2 Amazonlinux2 homebrew 인스톨
'IT > EKS' 카테고리의 다른 글
ArgoCD 아르고 오토싱크 interval (0) | 2022.08.19 |
---|---|
ArgoCD 헬름차트 + ALB 인그레스 리디렉션 무한루프 해결책 (0) | 2022.08.19 |
linkerd 파는 중 (0) | 2022.08.17 |
Jaeger / Telemetry 텔레메트리 Feat. 예거 (0) | 2022.08.08 |
EKS nginx 인그레스 Dynamic Config 관련 no connection drop (0) | 2022.08.01 |
글
linkerd 파는 중
이스티오와 대표 차이점으로,
링커d는 게이트웨이 따로 필요 없음
이스티오는 별도 LB와 게이트구간이 존재.
뭣보다 링커d가 좀 더 쉽게 접근이 가능하다는건 개인 기분일수도 있음 ㅇㅇ
'IT > EKS' 카테고리의 다른 글
ArgoCD 헬름차트 + ALB 인그레스 리디렉션 무한루프 해결책 (0) | 2022.08.19 |
---|---|
AWS EC2 Amazonlinux2 homebrew 인스톨 (0) | 2022.08.19 |
Jaeger / Telemetry 텔레메트리 Feat. 예거 (0) | 2022.08.08 |
EKS nginx 인그레스 Dynamic Config 관련 no connection drop (0) | 2022.08.01 |
헬름차트 - 예거 트레이서와 프로메테우스 상호간 버그 (0) | 2022.07.22 |
글
Jaeger / Telemetry 텔레메트리 Feat. 예거
대략 3주 정도 예거트레이서 관련하여 샘플링을 시도해보았댜.
한마디 감상문 : 레퍼런스가 참 없어서 맨땅에 헤딩하듯 개발했다. 참고로 쉬운구조가 절대 아니다. 긴장빠셈.
한마디 감상문2 : 트레이서의 코어는 인프라가 아니라, 실제로는 코드부분이다 (예거는 그냥 거들뿐)
한마디 감상문3 : 아 올인원 타입은 절대 깔지마라. 이왕이면 그냥 바로 프로덕션 버전처럼 디커플링된거로 가셈.
한마디 감상문4 : 뭐 인제스터에 ES 인덱스 클리너 등등 겁나 자질구레한거 엄청 붙어있는데, 밑에 볼드체 + 언더라인 한거 구조를 기반으로 나머지 가져다 붙이셈.
아직은 크게 쓰기 힘들다보니, 대략 요약만 하고, 이후 좀 더 내용 보완하겠댜 ㅇㅇ
예거 클라리언트 (코드부분) > 예거 에이전트 (사이드카 컨테이너 or 데몬셋 파드) > 예거콜렉터 > 예거DB (ES or 카산드라)
그리고 예거DB를 조회해서 두더지 그림 나오게하는 UI가 바로 예거UI. 그리고 옵션으로 예거UI 접근 가능하게 인그레스나 뭐 프록시 등등 달아줄 수 있음
( 이 위에 구조 그림으로 봐야 이해되는데, 꼭 레퍼런스 보셈. 그래야 트레이서 이해가 감)
예거 클라이언트는 2가지가 있댜.
1. 예거 클라이언트 : 오리지널인데 지금 Deprecation. 그냥 시한부 선언받음
2. 텔레메트리 : 트레이서. 추적정보 제공하는 라이브러리. 예거도 얘를 쓰라 함.
예거 인프라를 설치하는데는 2가지가 있댜. (올인원은 뺀다.)
1. 예거 오퍼레이터 : 까보면 1만줄짜리 CRD. 쿠버 버전 종속이 엄청 심해서 버전 바뀔때마다 얘도 버전 계속 바껴야함. 자신있으면 이거로 깔고 덤비셈.
2. 예거트레이싱 : 쿠버네티스 네이티브 리소스로 구성함. 과거 오퍼레이터로 설치할 때, 얘는 베타였음 (대략 21년 1월). 지금은 스테이블 / 릴리즈 버전으로 나온거같음. jaeger tracing 헬름차트 검색해보면 나올거임. 참고로 jaeger-operator 헬름 차트도 있는데, 이건 그냥 CRD를 내가 까냐 아니면 헬름이 까냐 차이임. 난 그냥 jaeger-tracing 을 차트로 깔았음
예거 DB도 2종류댜
1. ES : 범용 검색엔진. 그냥 얘가 쉬우니 이거로 까셈.
2. 카산드라 : k-v nosql이댜. 잘 구성할 줄 모르는 사람은 객기부리지 말고 ES로 깔아서 가는거 추천함.
예거 에이전트도 2종류댜
1. 데몬셋 : 그냥 각 노드마다 데몬으로 깐다. 제일 쉽다. 추적정보 보낼 때, 앱에서 목적지를 예거 에이전트 데몬의 SVC명으로 입력하면 알아서 집어넣는다. 단점으로, 트레이서 클라이언트 없는 애들의 노드 입장에선 이건 비용 낭비임. 근데 예거 데몬 깔 때, 어떤 노드한테만 줄래? 이것도 선택 가능함 ㅇㅇ
2. 사이드카 컨테이너 : 파드 = 컨테이너1 이 가장 관리하기 쉬운데, 원래 파드는 컨테이너 n개를 조합해서 하나의 서비스로 구성하고, 내부를 로컬호스트로 통신할 수 있게 했다. (아 말은 쉽지 운영관리가 어려워요..) 그래서 실제 어플리케이션 옆으로 예거에이전트 사이드카 컨테이너를 붙여서, 로컬호스트로 추적정보를 컨테이너 로컬호스트로 보내는거다. 인프라 관리 입장에선 쉬운데, 개발자나 데브옵스 입장에서 환장할 노릇 펼쳐지지.. 이거까지 관리하긴 싫거든 ㅇㅇ;
결론 : 모르면 그냥 데몬셋으로 까셈
예거 에이전트에 넣어야하는, 실제 추적정보를 수집하는 트레이서 라이브러리 또한 2개댜
이건 그냥 오픈텔레메트리 쓰셈. 필수임.
1. 예거 클라이언트 : 원래 초창기 라이브러리. 지금은 지원 안함. 예거 공홈가서 보셈.
2. 오픈텔레메트리 : 최신버전임. 근데 가이드나 메뉴얼이 참 보는사람으로 하여금 불편하게 되어있음. 앵간한 샘플코드도 없어. 내가 조만간 올려줄테니 기둘리셈 ㅡㅡ; 무튼 강제적으로라도 오픈 텔레메트리 쓰셈.
대강 개요는 이렇고, 미술점수가 항상 안좋았고 정장빼고 옷입는거에도 크게 관심없고 꾸미지도 못해서 그냥 하얀건 바탕이요 검정건 글씨다 타입임 ㅇㅇㅇ 이해좀 해줘요들
이 글은 조만간 내가 샘플 개발 앱이랑 도커파일, 헬름차트 등등 어떻게 설치했는지 그 파일들은 공유해서 수정토록 할게 ㅇㅇ
'IT > EKS' 카테고리의 다른 글
AWS EC2 Amazonlinux2 homebrew 인스톨 (0) | 2022.08.19 |
---|---|
linkerd 파는 중 (0) | 2022.08.17 |
EKS nginx 인그레스 Dynamic Config 관련 no connection drop (0) | 2022.08.01 |
헬름차트 - 예거 트레이서와 프로메테우스 상호간 버그 (0) | 2022.07.22 |
EKS Nginx NLB http > https 리디렉션 적용 QnA (0) | 2022.06.16 |
글
EKS nginx 인그레스 Dynamic Config 관련 no connection drop
nginx 인그레스 리스너 패스 적용 시, 간간히 몇개의 커넥션 리셋 / 드랍 에러가 튀 나옴
별로 보고 싶지 않아서 여러개를 찾아보다가, enable-dynamic-configuration 이 최신 버전 들어서면서부터 default로 적용된 것을 확인헀댜 ㅇㅇㅇ
과거 버전에서는 false로 되어있던 것을, true로 켜줘야만 했던 것 같다. 그래봤자 2019년이지만..
이 스레드는 동적 컨피그 적용이 안된다고 하는 문제댜
https://github.com/kubernetes/ingress-nginx/issues/2985
이 qna 스레드는 동적 컨피그 적용 시, 커넥션 드랍 / 클로즈를 피하는 방법을 문의하는건데, 똑같이 enable-dynamic-config 옵션 모드를 통해 설정하라 되어있댜
https://github.com/kubernetes/ingress-nginx/issues/2461
nginx 0.12.0 에서 enable-dynamic-config 아규먼트가 등장했고.
0.22.0 에서 아예 이 아규먼트가 사라졌다.
https://github.com/kubernetes/ingress-nginx/pull/3252
지금은 1.0 버전이상으로 되니, 아예 동적 컨피그를 끌 수 있는 방법이 없어졌댜.
https://github.com/kubernetes/ingress-nginx/issues/2985
오래전 스레드에 그레이스풀 셧다운을 높이라고는 되어있는데, 0.3x 버전 nginx에서는 디폴트가 240초, 4분이다.
이정도의 기간에도 불구하고 커넥션 드랍 / 순단이 생기는 것은 영 어쩔수 없나봉가...
정답은 dynamic config를 끄고, 수동으로 재적용 시키는 방법을 쓰고 싶은데 현재로선 방법이 도저히 없는 것 같댜 ㅇㅇ
'IT > EKS' 카테고리의 다른 글
linkerd 파는 중 (0) | 2022.08.17 |
---|---|
Jaeger / Telemetry 텔레메트리 Feat. 예거 (0) | 2022.08.08 |
헬름차트 - 예거 트레이서와 프로메테우스 상호간 버그 (0) | 2022.07.22 |
EKS Nginx NLB http > https 리디렉션 적용 QnA (0) | 2022.06.16 |
EKS Nginx NLB 삭제방지와 access log S3 스트리밍 같은 어노테이션 옵션 (0) | 2022.06.15 |
글
헬름차트 - 예거 트레이서와 프로메테우스 상호간 버그
헬름차트로 예거를 설치하고 프로메테우스를 설치하면, 프로메테우스가 기동되지 않는 상태
예거 헬름차트 설치 후, 프로메테우스 파드 재기동이 안됨 ㅇㅇ;
- 추정 사유 : 예거 에이전트가 환경변수를 프로메테우스 파드로 주입 시, 프로메테우스 측에서 이를 명시하지 않을 경우 오류 발생
- 프로메테우스 커뮤니티 측에서는 예거보다는 프로메테우스의 버그로 취급하는 모양이며, 명확한 솔루션이 제공되어 있음 → 예거에이전트 환경변수를 명시적으로 프로메테우스 파드에 추가
- 레퍼런스
오퍼레이터와 CRD를 그렇게 좋아하지 않는 개인 입장에서, 가장 바닐라틱하게 쓰기 위해 예거를 헬름으로 설치했댜
근데 이 상태에서 프로메테우스 재기동할 때 이슈가 생겼던 부분이었는데, 한번 동일 이슈일경우 참고해보도록 하쟈 ㅇㅇㅇ
'IT > EKS' 카테고리의 다른 글
Jaeger / Telemetry 텔레메트리 Feat. 예거 (0) | 2022.08.08 |
---|---|
EKS nginx 인그레스 Dynamic Config 관련 no connection drop (0) | 2022.08.01 |
EKS Nginx NLB http > https 리디렉션 적용 QnA (0) | 2022.06.16 |
EKS Nginx NLB 삭제방지와 access log S3 스트리밍 같은 어노테이션 옵션 (0) | 2022.06.15 |
Nginx NLB TLS적용 가이드 (0) | 2022.06.15 |