티스토리 뷰
step 1. install helm chart Airflow
1. 헬름부터 설치
Installing Helm
## 스크립트 방식
curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3
chmod 700 get_helm.sh
./get_helm.sh
2.아파치 airflow 설치
helm repo add apache-airflow https://airflow.apache.org
helm upgrade --install airflow apache-airflow/airflow --namespace airflow --create-namespace
설치는 했는데 pending 에 오류투성이 입니다.
헬름을 다시 삭제하고 pvc 설정후 다시 진행 하겠습니다.
삭제 방법은 helm list 후에 airflow 검색이 되면
helm delete airflow 하시면 됩니다.
root@master:/home/vagrant# helm list
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
airflow airflow 1 2024-08-28 15:12:50.561705512 +0000 UTC failed airflow-1.15.0 2.9.3
root@master:/home/vagrant# helm delete airflow
release "airflow" uninstalled
Persistent Volume 배포Permalink
Airflow Chart 설치 시 배포 되는 PVC에 연결될 PV를 미리 배포 해줍니다.
10GB 2개, 110GB 2개로 설정해주었습니다. 최소 용량이 얼마나 필요한지 모르겠으나
적어도 2개 PVC가 110GB 이상을 요구하는 것 같았습니다.
그렇지 않은 경우 Pending 상태로 무한 대기상태에 빠지더군요.
참고로 아래 yaml을 사용하여 PV를 배포하기 전에 node local에 yaml에 정의한 PV 경로를 꼭 미리 생성해 주세요.
그렇지 않으면 배포된 airflow chart에서 권한 문제로 인해 Pod가 일정시간마다 재시작 되는 문제가 발생합니다.
#pvc.yaml
apiVersion: v1
kind: PersistentVolume
metadata:
name: persistent-volume-1
spec:
capacity:
storage: 10G
accessModes:
- ReadWriteOnce
local:
path: /home/vagrant/pv1
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- {key: kubernetes.io/hostname, operator: In, values: [worker1]}
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: persistent-volume-2
spec:
capacity:
storage: 10G
accessModes:
- ReadWriteOnce
local:
path: /home/vagrant/pv2
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- {key: kubernetes.io/hostname, operator: In, values: [worker2]}
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: persistent-volume-3
spec:
capacity:
storage: 110G
accessModes:
- ReadWriteOnce
local:
path: /home/vagrant/pv3
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- {key: kubernetes.io/hostname, operator: In, values: [worker1]}
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: persistent-volume-4
spec:
capacity:
storage: 110G
accessModes:
- ReadWriteOnce
local:
path: /home/vagrant/pv4
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- {key: kubernetes.io/hostname, operator: In, values: [worker2]}
1번 라인에서 Helm Chart를 등록하고 2번 라인에서 Helm Chart를 통해서 설치를 진행합니다.
설치된 Helm의 이름은 airflow이며 이 Helm Chart를 통해서 설치되는 위치는 새로 생성한 airflow namespace에 설치됩니다.
step 2. 설치 확인하기
kubectl get po -n airflow
kubectl 명령어를 통해서 방금 생성한 airflow namespace에 pod를 조회해 보자.
다음과 비슷한 내용을 얻었다면
설치 성공!
step 3. 접속 Airflow
kubectl get svc -n airflow
airflow webserver의 SVC 즉 service 이름을 찾아 냅니다.
저는 그냥 airflow-webserver 로 되어있더군요
kubectl port-forward svc/airflow-webserver 8080:8080 -n airflow
포트포워딩을 통해서 내부에만 존재하는 Airflow의 포트를 노출시켜 줍니다.
요런식으로 나왔다면 웹브라우저를 열어서 localhost:8080 으로 접속을 합니다.
이렇게 접속이 되는 모습을 확인 가능합니다.
ps. 리스타트가 몇번 됐는데 한번 찾아봐야겠습니다.
- Total
- Today
- Yesterday
- pod 상태
- K8s
- 스토리지 클레스
- [오라클 튜닝] sql 튜닝
- 설치하기(HP-UX)
- ORACLE 트러블 슈팅(성능 고도화 원리와 해법!)
- (InstantClient) 설치하기(HP-UX)
- 테라폼
- 코로나19
- 5.4.0.1072
- startup 에러
- 앤시블
- 트리이스
- 오라클
- 버쳐박스
- Oracle
- 오라클 인스턴트클라이언트(InstantClient) 설치하기(HP-UX)
- 키알리
- 쿠버네티스
- 여러서버 컨트롤
- MSA
- 오라클 홈디렉토리 copy 후 startup 에러
- [오라클 튜닝] instance 튜닝2
- directory copy 후 startup 에러
- 튜닝
- ubuntu
- 오라클 트러블 슈팅(성능 고도화 원리와 해법!)
- CVE 취약점 점검
- 커널
- 우분투
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |