Helm 을 통해 삭제를 했는데, pvc 가 계속 삭제안되고 있다. 그래서 kubectl delete pvc 명령을 입력해도 삭제가 안된다 -_-$ kubectl get pvc | grep sample sample-decrypt Terminating haha.hoho.sample-decrypt.4b123674-tb2f-55ab-c03f-bdcb2a794e3 1Gi ROX rbd-hdd 8d... 해결방법정확한 이유는 모르겠지만, 아래와 같이 pvc 를 edit 하는 화면으로 넘어간후$ kubectl edit pvc 아래와 같은 내용이 있는지 확인후, 삭제한후 저장해준다...
기본적으로 configMap 을 통한 파일을 등록하는건 1depth 만 지원된다.airflow 의 plugin 파일을 helm chart 폴더에서 관리하고자 했는데 안타갑게도 서브디렉토리는 사실상 필수였다.가장 쉽게 생각할 수 있는 접근은 git clone 을 해서 특정 리파지토리의 브랜치를 다운로드 받아서 처리하는것인데로컬에서 쉽게 배포하고 테스트 할 수 있는걸 원했다. 그래서 삽질의 삽질을 하다가 약간의 트릭으로 할 긴했다. 해결의 실마리?configMap 을 정의할때 다음과 같이 key, path 를 직접 정의하면 subdir 을 지정하는게 가능하다.그러면 local 폴더의 경로에서 / 를 다른문자열로 치환하고, 이를 1depth 파일처럼 관리하고, 다시 이걸 key, path 로 맵핑하면 된다는 ..
airflow 2.x 부터 롤기반으로 권한관리가 일어나고, 이에 따른 퍼미션 권한이 존재한다.그런데 이게 어떤걸 의미하는건지 잘 정리가 안되서 간단히 정리하고자한다. 1. can read on DAGsDAG 를 볼 수 있는지 여부를 의미한다.리스트에 나와서 어떤 DAGS 가 있는지 조회된다의 의미일뿐 실행이나 해제같은 동작은 안된다. (진짜 목록에만 보일뿐 할 수 있는게 없음) DAG 별로 따로 수동으로 관리하고, 기본적으로 조회가 안되게 하려면 이 옵션을 제거해주도록 하자.그러면 아래와 같이 기본적으로는 DAGS 의 목록이 조회되지 않는다.특정 DAG 만 조회 가능하게 하려면 "can read on DAG: " 형태로 부여하는것도 가능하다. 2. can edit on DAGsDAG 의 목록이 보이고,..
helm template 명령어로 확인하려고 했는데 아래와 같이 알수 없는 오류가 발생했다.결론부터 말하면, range 하위에 include 를 썼는데 이때 영향을 받았던 문제였다.Error: render error in "...deployment.yaml": template: ...deployment.yaml:81:16: executing "...deployment.yaml" at : error calling include: template: sample/templates/_helpers.tpl:166:8: executing "sample.kerberos" at : error calling include: template: sample/templates/_helpers.tpl:100:25: execu..
kubernetes pod 를 구성하다보면 복잡한 쉘스크립트를 실행하는 컨테이너를 만들고 싶은 경우가 있다.하지만, 실행명령을 여러줄로 쪼개서 선언하는 패턴만 보여서 기냥 쉘스크립트를 configMap 에 넣고 볼륨마운트 하거나, 쉘스크립트를 볼륨에 넣어서 실행할까? 고민을 하는데 그렇게 하지 않고 바로 선언하는것도 가능하다. 구성예시가장 심플하게 alpine 이미지로 카운트 다운하는 쉘스크립트를 표현하고 싶다고 가정하겠다.apiVersion: v1kind: Podmetadata: name: sample-multiline-shellscriptspec: restartPolicy: OnFailure containers: - name: run image: alpine:latest ..
json 문자열을 complex data types 으로 바꿔줄 수 있는 유용한 함수이다.이게 유용한게 GET_JSON_OBJECT 으로 데이터를 찾아서, 묶어낼때 정규식을 써서 해결해야하는걸 데이터 타입을 바꿔서 쉽게 해결할수 있는 경우가 존재한다. brickhoust 의 from_json 함수와 같은 기능을 한다고 보면 된다. 2024.01.18 - [데이터처리/Hive] - [HIVE] JSON 을 다루는 함수 설명 & 예시 - brickhouse UDF json_read 가 유용할 때?hive 3.x 에서는 json_read 함수가 없다보니, 아래와 같이 json 결과가 몇건인지 혹은 데이터를 구분자로 묶어야 할때 처리가 매우 난감하다. 왜냐면 아래와 같이 문자열 [] 가 있고, 문자열에는 ""..
hive 4.x 버전에서 유용한 함수들이 많이 추가되었다. 그중 유용한 함수가 있어 몇가지 소개하고자 한다.UniqueCount , Count Distinct 를 구할때 속도가 많이 느린 문제가 있다. PageCount 같은 경우는 단순히 count 하면 되지만, UserCount 를 할때는 중복 접속한 사람을 제거해야하는 문제인데, 문제는 이런 값을 구하는 속도가 너무 오래걸린다. 그래서 HyperHyperLog 알고리즘을 이용하여 빠르게 구하는 함수가 존재하는데, presto 에는 존재했는데 hive 에는 없어서 이 값을 구하려면 매우 오래걸렸다. (참고로 approx_distinct 는 근사치를 구하긴 하지만 정확도대비 성능을 보면 무조건 써야할 경우가 많다) https://github.com/a..
helm chart 2.x 버전에서 "파일경로"에서 볼륨마운트 경로를 유도하기위해서 파일경로만 추출하는 필요성이 생겼다.파일경로가 필요했던 이유는 볼륨마운트할 경로를 유도해야했다. 그럼 어떻게 유도할 수 있을까? /opt/airflow/template/subject-template.template 1. 파일경로만 추출하기다음과 같이 helm chart 를 구성하면 파일명을 제거한 "/opt/airflow/template" 값을 유도할 수 있다.split 한 이후, list 의 마지막값을 제외한 배열을 만들어 합치는 형태로 해결했다.{{- $my_path := "/opt/airflow/template/subject-template.template" -}}{{- $token := splitList "/" ..