GPU-Live/gpulive/sample_pod/tf-istio.yaml

111 lines
2.3 KiB
YAML

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: tf-notebook-pvc-istio
namespace: sample-istio
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
storageClassName: nfs-client
---
apiVersion: v1
kind: Service
metadata:
name: tf-notebook-istio
namespace: sample-istio
labels:
app: tf-notebook-istio
spec:
type: ClusterIP
ports:
- port: 80
name: http
targetPort: 8888
selector:
app: tf-notebook-istio
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: tf-notebook-istio
namespace: sample-istio
spec:
replicas: 1
selector:
matchLabels:
app: tf-notebook-istio
template:
metadata:
labels:
app: tf-notebook-istio
spec:
nodeSelector:
nodegroup: gpu
containers:
- name: tf-notebook
image: tensorflow/tensorflow:2.16.2-gpu-jupyter
resources:
limits:
nvidia.com/gpu: 1
ports:
- containerPort: 8888
name: notebook
volumeMounts:
- name: notebook-storage
mountPath: /sample
volumes:
- name: notebook-storage
persistentVolumeClaim:
claimName: tf-notebook-pvc-istio
---
# Gateway.yaml
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
name: tf-istio-gateway
namespace: sample-istio
spec:
# The selector matches the ingress gateway pod labels.
# If you installed Istio using Helm following the standard documentation, this would be "istio=ingress"
selector:
istio: ingressgateway
servers:
- port:
number: 80
name: http
protocol: HTTP
hosts:
- tf-istio.nhngpuaas.com
tls:
httpsRedirect: true # sends 301 redirect for http requests
- port:
number: 443
name: https
protocol: HTTPS
hosts:
- tf-istio.nhngpuaas.com
tls:
mode: SIMPLE # enables HTTPS on this port
credentialName: nhngpuaas-ssl
---
# virtual-service.yaml
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: test
namespace: sample-istio
spec:
hosts:
- "tf-istio.nhngpuaas.com"
gateways:
- tf-istio-gateway
http:
- route:
- destination:
port:
number: 80
host: tf-notebook-istio