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
반응형