본문 바로가기

kubenetes47

kserve 사용 및 설정 가이드 kserve 사용법 및 설정 방법을 소개한다.kubeflow를 설치할 때 함께 설치된 kserve v0.13.0을 사용한다. kubeflow 설치는 다음 문서를 참고한다. (kubeflow 1.9.0 설치하기) 1. CSRF 오류 해결kubeflow에서 KServe Endpoints를 클릭하면 "[403] Could not find CSRF cookie XSRF-TOKEN in the request." 에러 메시지가 출력된다. 이를 해결하기 위해서는 ConfigMap을 수정해야 한다. 다음 커맨드를 입력해 ConfigMap 편집 모드에 진입한다.kubectl edit cm -n kubeflow kserve-models-web-app-config ConfigMap을 아래와 같이 수정한다.apiVersion.. 2024. 9. 24.
CRI-O 환경에서 Podman, Ping, Audit 관련 이슈 해결 가이드 문제 개요환경: Kubernetes 클러스터, CRI-O 컨테이너 런타임증상 1: 컨테이너 내부에서 Podman 실행 불가증상 2: Ping 명령어 실행 시 권한 오류 발생 증상 3: Audit 관련 기능 미작동 및 sudo 사용 시 경고 메시지 출력원인 분석 CRI-O는 containerd에 비해 기본적으로 더 제한된 capabilities를 제공한다.이에 따라 capabilities 부족으로 권한 오류가 발생해 위와 같은 증상들이 나타나게 된다. 아래 명령어를 통해 컨테이너에 적용된 Linux capabilities를 확인할 수 있다. 이를 통해 containerd와 CRI-O의 capabilities 차이를 분석했다.capsh --print ontainerd와 비교할 때 CRI-O에는 아래의 5가지.. 2024. 9. 19.
Kubernetes에서 Spark 사용하기: spark operator를 이용한 spark on kubernetes 설정 및 사용 방법 spark on k8s 환경을 구축하는 방법과 간단한 사용 방법을 설명한다.  1. Spark Operator 소개 spark operator는 kubernetes 환경에서 spark application의 배포와 관리를 간소화하는 커스텀 컨트롤러이다.crd에 따라 동적으로 driver pod과 executor pod가 실행된다. 주요 구성 요소는 다음과 같다.1. Custom Resource Definitions (CRDs) SparkApplication: 단일 spark application을 정의한다.ScheduledSparkApplication: 주기적으로 실행되는 spark application을 정의한다.2. operatorCRD를 감지하고 필요한 kubernetes 리소스를 생성, 업데이트,.. 2024. 9. 9.
Argocd mail notification 설정: Multiple Sources argocd mail notification 설정을 적용한다. 1. ArgoCD Notifications 템플릿 적용아래 커맨드를 통해 argocd-notifications-cm에 메일 템플릿을 적용한다.kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj-labs/argocd-notifications/stable/catalog/install.yaml ※ 주의기본 제공되는 yaml 파일은 단일 소스 설정만 지원하기에, 멀티소스에서 사용하기 위해서는 argocd-notifications-cm ConfigMap을 수정해야 한다. 수정 없이 멀티 소스 설정에서 사용하면 다음과 같은 오류가 발생한다.time="2024-09-07T15:50:.. 2024. 9. 8.
Kubernetes 환경에서 ArgoCD를 활용한 MLflow Helm 차트 배포: GitOps 및 Private Harbor 활용 Kubernetes 클러스터에서 ArgoCD를 사용하여 MLflow를 배포하는 방법을 설명한다. Helm 차트는 Private Harbor 레지스트리에서 관리되고, 구성 값(values.yaml)은 Git 저장소에서 관리된다.이와 같이 관리할 경우 다양한 환경(개발, 스테이징, 프로덕션 등)에 대한 구성을 쉽게 관리할 수 있고, 환경별로 다른 구성을 적용하면서도 기본 애플리케이션 구조는 일관되게 유지할 수 있다.1. MLflow Helm Chart 다운로드private harbor에 push하기 위해 mlflow helm chart를 다운받는다.helm pull oci://registry-1.docker.io/bitnamicharts/mlflow 파일 다운로드를 확인한다.[root@km helm]# ll.. 2024. 9. 5.
kubernetes에서 private harbor 이미지 pull 하는 방법 CONTAINER-RUNTIME으로 containerd을 사용중이며, private container registry에서 이미지 pull 시 tls 에러가 나는 현상이 발생하여, 이를 해결하는 과정을 정리한다.pod가 어느 노드에서 생성될 지 알 수 없기 때문에 아래 과정은 모든 kubernetes worker에서 진행해야 한다. 1. hosts 파일 수정/etc/hosts에 harbor의 hostname과 ip를 작성한다.10.0.1.117 registry.dd.io2. Docker 인증서 디렉토리에 인증서 추가 `/etc/docker/certs.d/registry.dd.io/` 디렉토리에 harbor 레지스트리 서버의 ca.crt 파일을 추가한다.`/registry.dd.io` 디렉토리는 실제 har.. 2024. 9. 4.
tekton 설치 1. tekton pipeline 설치kubectl apply -f https://storage.googleapis.com/tekton-releases/pipeline/latest/release.yaml 2. tekton dashboard 설치kubectl apply -f https://storage.googleapis.com/tekton-releases/dashboard/latest/release-full.yaml 3. tekton trigger, interceptors 설치kubectl apply -f https://storage.googleapis.com/tekton-releases/triggers/latest/release.yaml kubectl apply -f https://storage.goo.. 2024. 8. 29.
argocd 설치 1. argocd namespace를 생성한 후 stable version의 argocd를 설치kubectl create namespace argocdkubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml 2. ingress 설정apiVersion: networking.k8s.io/v1kind: Ingressmetadata: name: argocd-server-ingress namespace: argocd annotations: nginx.ingress.kubernetes.io/ssl-passthrough: "true" nginx.ingress.kube.. 2024. 8. 29.
mlflow helm 설치 주의 사항yaml 파일을 보면 대부분의 service type이 LoadBalancer로 되어 있음.on-prem 환경에서 설치 시 metallb가 설치되어 있지 않다면 LoadBalancer를 사용할 수 없으니, NodePort로 service type을 변경해야한다.username / password를 재설정하는 경우에는 pvc를 모두 삭제 후에 재설치 해야한다.pvc에 데이터가 남아있으면 변경되지 않는다. 1. mlflow의 values.yaml 다운로드helm show values oci://registry-1.docker.io/bitnamicharts/mlflow > mlflow-values.yaml  2. values.yaml 수정2-1. 관리자 인증을 비활성화한다. auth: enab.. 2024. 8. 29.
airflow helm 설치 1. helm repo 추가 및 values.yaml 다운로드# helm repo addhelm repo add apache-airflow https://airflow.apache.org # values.yaml 다운로드helm show values apache-airflow/airflow > values.yaml 2. values.yaml 수정2-1. ingress 설정# Ingress configurationingress: # Enable all ingress resources (deprecated - use ingress.web.enabled and ingress.flower.enabled) enabled: false # Configs for the Ingress of the web Servi.. 2024. 8. 29.
반응형