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