Kubernetes

[Kubernetes] Ingress설정을 이용해서 jupyternotebook pod  실행하기

sherrylover 2023. 5. 2. 13:11
728x90
반응형

 

1. Docker 이미지를 사용하여 Jupyter 포드에 대한 Kubernetes 배포를 만듭니다. 원하는 도메인 이름을 환경 변수로 지정합니다. 다음은 배포 YAML의 예입니다.

 

Deployment yaml 생성

apiVersion: apps/v1
kind: Deployment
metadata:
  name: jupyter-deployment
spec:
  selector:
    matchLabels:
      app: jupyter
  replicas: 1
  template:
    metadata:
      labels:
        app: jupyter
    spec:
      containers:
      - name: jupyter
        image: <image-name>:<tag>
        ports:
        - containerPort: 8888
        env:
        - name: DOMAIN_NAME
          value: example.com

 

2.  Jupyter 포드에 대한 Kubernetes 서비스를 만듭니다. 다음은 서비스 YAML의 예입니다.

Servie yaml 생성

apiVersion: v1
kind: Service
metadata:
  name: jupyter-service
spec:
  selector:
    app: jupyter
  ports:
  - name: http
    port: 8888
    targetPort: 8888

 

 

3. 도메인 이름을 지정하고 Jupyter 서비스에 매핑하는 Kubernetes 수신 리소스를 만듭니다. 다음은 인그레스 YAML의 예입니다.

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: jupyter-ingress
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /$1
spec:
  rules:
  - host: example.com
    http:
      paths:
      - path: /jupyter/(.*)
        pathType: Prefix
        backend:
          service:
            name: jupyter-service
            port:
              name: http

이 예에서는 example.com/jupyter 경로를 jupyter-service 서비스에 매핑하는 인그레스를 생성합니다.

 

4.kubectl apply 명령을 사용하여 Kubernetes 리소스를 적용

kubectl apply -f deployment

728x90
반응형