'데이터 엔지니어'로 성장하기

정리하는 걸 좋아하고, 남이 읽으면 더 좋아함

k8s 35

Jupyterhub) k8s 1.27에서 helm 에러 수정_bug

쿠버 버전을 업그레이드했다가, 에러가 발생했어요. 공식 github에서도 2일전에 bug라는 issue가 등록되었더라고요 요약 1. k8s 1.27에서 pod spawning이 안됨 2. 공식 인정 버그였음 3. image를 변경하고, deprecated된 api를 수정함 환경 - helm chart 3.0.0 - k8s v1.27.0 (기존에는 1.24) 에러 v1beta1.CSIStorageCapacity 관련 에러 - Failed to watch *v1beta1.CSIStorageCapacity: failed to list *v1beta1.CSIStorageCapacity: W0530 17:41:37.219051 1 reflector.go:324] k8s.io/client-go/informers/f..

Data/Jupyterhub 2023.06.11

superset) trino 연결해서 그래프 그리기

superset에서는 pip install만 하면 db connection을 만들 수 있어요. 그런데 어떻게 추가하는지 처음에는 당황스러울 수 있어요 예상 독자는 아래와 같아요. superset에 connection 맺으려고, dockefile 예시 찾는 분 Superset 이 무엇인지 설명하는 이전 글은 아래 링크에 있어요 https://mightytedkim.tistory.com/191 Supserset) 슈퍼셋 들어보셧나요? 사용 후기 듣고 가세요! (filter 조건 위치 변경해서 full scan 방지) 요즘 '빅데이터 지탱하는 기술' 보고 있는데, superset이 나와서 정리해봣어요예상 독자는 아래와 같아요 - superset 사용하시려는 분 - 기본 구조를 아시고 싶으신 분 - filter..

Data/Superset 2023.04.23

kubernetes) k8s dashboard limited acess 설정하기_readonly

k8s dashboard를 제공하기는 해야하는데, 읽기 권한만 부여하고 싶을 때가 있어요. 예를 들어, spark on k8s 환경의 경우 분석가 분들이 pod의 memory/cpu 사용량을 봐야할 때가 있겠네요. 사용량이나 로그를 봐야지 executor와 memory를 늘릴지 말지 판단할 수 있기 때문이에요. 제가 참고한 코드는 fabianlee의 블로그에요 https://fabianlee.org/2022/08/05/kubernetes-accessing-the-kubernetes-dashboard-with-least-privilege/ Kubernetes: accessing the Kubernetes Dashboard with least privilege | Fabian Lee : Software En..

기타/K8S 2023.04.23

Kubernetes) 인프라팀의 network 초기화로 비상걸린썰_온프렘,ip_forward

22년 연말에 쿠버네티스 장애나서 혼자 야근한 썰이에요 결론부터 말하면, 알 수 없는 이유로 네트워크 설정값이 초기화되었는데 상상도 못햇던 일이라 원인을 찾는데 좀 오래 걸렷어요 ”장애 인지 -> 원인 파악 -> 해결“의 흐름으로 정리해봤습니다ㅎ 요약 - k8s pod 내부에서 외부 domain 접근 못함 - 인프라팀 서버 작업 중, ip_forward 설정값이 초기화됨 예상 독자 - coredns 관련 에러가 나는 분들 목차 장애 인지 원인 파악 문제 해결 후기 1. 장애 인지 서버 재시작 후, K8S Airflow Job 실패 인프라팀이 ‘펌웨어 업그레이드`한다고 서버를 재시작했어요. 재시작하고 나니, Airflow 장애가 발생하며 메신저에 불이 났어요 심호흡을 하고, 상황 파악부터 시작했습니다. A..

기타/K8S 2022.12.29

mc) mc cp 사용시 인증서 오류날 때_s3v2,s3v4

mc를 통해서 object storage의 데이터를 A cluster에서 B cluster로 옮기려고 했어요 참고로 저는 온프렘 k8s rook-ceph를 사용하고 있어요 alias 등록하고 목록 조회는 되는데, 다른 작업이 안되더라고요 $ mc alias ls ceph-test URL : http://192.16.172.56:30071 AccessKey : access-key SecretKey : secret-key API : S3v4 Path : dns ceph-vm URL : http://172.17.172.11:30071 AccessKey : access-key SecretKey : secret-key API : s3v4 Path : auto $ mc ls ceph-test/ [2022-10-12..

기타/K8S 2022.12.23

글또) 7기 다짐글(2022.05 ~ 2022.11)_airflow

벌써 3번째 다짐글이네요 이 포스팅의 독자는 아래와 같아요 글또 가입을 고민하시는 분 글또 7기를 같은 그룹 분들 중 제가 궁금하신 분 글또 바이럴에 도움이 되기를 바라면서 아래 3가지 내용을 준비했어요 글또를 통해 얻게된 좋은 습관 5,6기에 작성했던 글 7기에 작성하게될 글 1) 글또를 통해 얻게된 좋은 습관 글또 덕분에 여러 습관을 얻게 되었어요 주기적으로 글쓰는 습관 피드백 받을 걸 생각하고 글쓰는 습관 어떻게 효과적으로 피드백을 줄지 생각하는 습관 아직도 메모처럼 블로그에 글을 작성하고 있지만, 매 기수마다 발전하는 저를 볼 수 있어요. 그리고 어떤 글을 썼는지 목차를 보며 그 동안 어떤 기술에 제가 관심이 있엇는지 볼 수 있어 좋아요 2) 5,6기에 작성했던 글 21년에는 elk, k8s를 공..

Data/Airflow 2022.07.10

Slipp) k8s 스터디 후기_21기

(후기) 코로나 기간이라 온라인으로만 진행된 건 조금 아쉬웠지만 스터디 내용이 실무에 많이 도움 되었어요 :) 요약 기간: 2021.08.10 ~ 2021.11.16 (7회) 주제: 쿠버네티스 시작하기 목표: 쿠버네티스의 기본 구조 학습 방식: '15단계로 배우는 도커와 쿠버네티스' 함께 읽기 https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=252444358 15단계로 배우는 도커와 쿠버네티스 컨테이너 기술에 처음 입문하는 독자도 체계적으로 실력을 쌓아갈 수 있도록 도커부터 시작하여 쿠버네티스의 전반적인 기능을 기초부터 단계별로 학습할 수 있도록 구성되어 있다. 독자는 이 www.aladin.co.kr 내용 Slipp) K8S 스터디1주차_개념 잡기 https:..

커뮤니티/slipp 2022.07.09

K8s) host명으로 내부 데이터 접근하기_spark,boto3,k8s

IP로 데이터에 접근하다보니, 불안해서 host명으로 수정했어요 k8s에서 작업하시는 분들께 도움이 되었으면 합니다 :) 요약 문제 : IP로 데이터 접근하니, 보안 리스크가 생김 상황 : spark image, jupyterhub, airflow 에 적용가능함 조치 : IP를 host명으로 대체함 결론 : 보안 리스크 줄이고, cluster 관리가 편해짐 설명 1. 문제 data에 IP로 접근해서 생길 수 있는 보안 이슈 발견 k8s cluster를 여러개 관리하다보니까, IP가 이제 꼬이기 시작했어요. 보안 이슈도 있었지만, 곧 신규 cluster 구축이 예정되어있어서 미리 변경하고 싶었어요 제가 편해야 시스템도 안정적으로 변하니까요ㅎ 2. 상황 일단 3가지 먼저, spark image/ jupyte..

기타/K8S 2022.07.07

Airflow) 2.0부터는 scheduler 는 replica 여러개 설정 추천

2.0에서 큰 변화 중 하나는 scheudler의 확장성과 자원 여유로 여러개 띄울 수 있어요! 요약 1. airflow scheduler 가 다시 올라오지 않음 2. 재시작하면 정상 작동됨 3. 원인을 찾아야함 설명 1. airflow scheduler 가 다시 올라오지 않음 $k get all -n airflow | grep pod NAME READY STATUS RESTARTS AGE pod/airflow-postgresql-0 1/1 Running 1 (69d ago) 108d pod/airflow-scheduler-88588ff5c-cgpfk 0/3 PodInitializing 3 (6d19h ago) 10d pod/airflow-statsd-5df44cb959-h64bn 1/1 Running ..

Data/Airflow 2022.04.28

Mariadb) binary 파일 정리하기_k8s에서 pvc 넘침

요약 1. disk 용량이 꽉참 2. mysql binary 때문이었음 3. 삭제하고, 저장 주기 조정함 설명 1. disk 용량이 꽉참 2. mysql binary 때문이었음 ls -al | grep mysql total 14916268 drwxrwsr-x 11 1001 1001 4096 Apr 25 04:24 . drwxrwsrwx 4 root 1001 4096 Dec 6 09:26 .. drwxrws--- 2 1001 1001 4096 Dec 6 09:26 mysql -rw-rw---- 1 1001 1001 1453 Dec 6 09:26 mysql-bin.000001 -rw-rw---- 1 1001 1001 509183729 Dec 14 05:59 mysql-bin.000002 -rw-rw---- ..

Storage/mariadb 2022.04.28