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

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

기타 68

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

k8s) worker 재시작했을 때 not ready 인 경우

어쩔때는 잘 올라오는데 어쩔때는 not ready고 쿠버는 참 재미진 것 같아요.. 매번 믿지만, 가끔 뒤통수 맞아서 비슷한 사례가 있을 때마다 여기에 추가하려고요 (대단한건 없고 메모용입니다) server 의 경우 서버에서는 대부분의 문제가 kubelet, docker(containerd)가 실행되지 않아서 생기더라고요 그래서 아래 명령어들을 확인합니다. systemctl status kubelet systemctl status docker #systemctl status containerd 예시 [root@k8sworker3 ~]# systemctl status kubelet ● kubelet.service - kubelet: The Kubernetes Node Agent Loaded: loaded ..

기타/K8S 2023.03.09

K8S) pod 내부에서 외부 DNS 못 찾을 때 우회법_hostAlias,coredns

쿠버네스티는 설치할 때마다 새로워요. hw가 문제일 때도 있고, kernel 버전이 안 맞을 때도 있죠 하지만 대부분의 절망 포인트는 네트워크 더라고요... pod안에서 외부 dns 접근 못하던 문제를 어떻게 우회해서 해결했는지 정리했습니다 예상 독자는 다음과 같아요 온프렘 환경에서 고군분투 쿠버를 설치하시는 분들 네트워크 잘 모르는데 쿠버 설치하시는 분들 저를 불쌍히 여기실 수 있는 분들 문제: pod 안에서 dns 를 찾지 못함 이번에는 새로운 네트워크 망에 k8s cluster를 설치하는 작업을 했어요 그런데 이상하게 서버 몇대가, 회사 DNS에 접근을 잘 못하더라고요. 12대 중 2대가 접근이 되지 않아서 /etc/hosts에 특정 host를 명시해줬어요 불안한 마음에 k8s 설치하고 busybo..

기타/K8S 2023.02.26

K8S) 인증서 갱신하기

온프렘 쿠버 세팅하고 1년 정도 지나니까 인증서 갱신 문제가 발생하더라고요 문제가 발생하면 먼저 인증서 상태를 확인해줍니다. $ kubeadm certs check-expiration [check-expiration] Reading configuration from the cluster... [check-expiration] FYI: You can look at this config file with 'kubectl -n kube-system get cm kubeadm-config -o yaml' [check-expiration] Error reading configuration from the Cluster. Falling back to default configuration CERTIFICATE EX..

기타/K8S 2023.02.26

linux) fstab bind_심볼릭 링크 권한 관리가 필요할 때

심볼릭 링크 작업이 필요한데, 권한은 특정 사용자로 한정해야하는 일이 있었어요 그런데 ln -s에는 chown이 안먹히더라고요. 그래서 검색하던 중 bind를 찾앗어요 예상 독자 - 심볼링 링크에 권한 부여해야하는 분 목차 1. 왜 심볼릭 링크에 권한 관리가 필요했는가? 2. bind를 이용해 어떻게 해결했는가? + ftp로 상위 폴더 못가게 하기 1. 왜 심볼릭 링크에 권한 관리가 필요했는가? `ftp로 업로드하면, nginx로 다운로드하고 싶다` 는 요청이 들어왔어요 아래처럼 계획을 세분화했어요 1. adminftp/userftp를 만든다. 2. admin 은 저장/삭제가 가능하다. 3. user는 저장만 가능하다(수정 불가) 4. *ssh 접근을 못하게 막는다. 5. ftp 상위 폴더 접근을 못하게..

기타/Linux 2023.01.09

linux) bash script로 yyyymmdd 뽑기

예상 독자 - bash script로 달력 구현이 필요하신 분 - airflow jinja 작업 전에 테스트가 필요하신 분 1년치 데이터를 이전하는 작업을 하게 되었는데 매일 해야하는 작업이라 airflow로 구현하기로 결정햇어요 일단 script로 for loop 돌려서, $1으로 입력받는 값을 넘기는 방식으로 테스트를 했어요 #!/bin/bash kdts="$@" for kdt in $kdts do # if .bak backup file exists, read next file echo kdt=${kdt} mc mirror --overwrite ceph-source/testkdt=${kdt} ceph-target/test/kdt=${kdt} echo kdt=${kdt} finished done 그런데..

기타/Linux 2023.01.09

mc)mc cp와 mc mirror 차이

최근에 대용량 object stroage 파일 수십만개를 복사할 일이 생겼는데 그 때 mc cp와 mc mirror를 들여다 봤어요 + aws cli도 좋지만, mc(minio client)는 설치가 필요없이 압축만 풀면되는 agent 파일이어서 좋아요. (서버에 영향을 최소한으로 줄 수 있어서) 예상 독자 - mc(minio client)가 궁금한 분 - mc cp와 mc mirror의 차이가 궁금한 분 목차 1. mc cp는 뭐지 2. mc mirror는 뭐지 3. 두개의 차이점은 뭐지 4. 무엇을 적용했는지 1. mc cp는 뭐지 aws cli의 cp와 동일한 친구에요 단순히 복사하는 명령어로, 속도가 빠르고 단순하다는 장점이 있어요 하지만 boto3보다 안정적이라는거지, 수만개의 object를 이..

기타/K8S 2023.01.09

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

Linux) ssh no matching MAC found 오류_해결

요약 ubuntu 22.04.1 을 설치하고 oracle linux 7.9에서 접근하려고 했는데 인증 오류("no matching MAC found" )가 났고 [-m mac_spec] 설정으로 해결했어요 $ ssh -m hmac-sha2-512 -A spc@10.***.70.41 문제 there's some incompatibility between the ssh client shipped with Windows and the server on Ubuntu 22.04. #사례1 # source, linux Oracle Linux Server release 7.6 # source, ssh OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017 $ telnet 10.***.70..

기타/Linux 2022.12.09