diff --git a/dev/sample/jupyter_kustomize/base/kustomization.yaml b/dev/sample/jupyter_kustomize/base/kustomization.yaml new file mode 100644 index 0000000..9f9d0d0 --- /dev/null +++ b/dev/sample/jupyter_kustomize/base/kustomization.yaml @@ -0,0 +1,5 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: + - tf.yaml + diff --git a/dev/sample/jupyter_kustomize/base/tf.yaml b/dev/sample/jupyter_kustomize/base/tf.yaml new file mode 100644 index 0000000..b2afed9 --- /dev/null +++ b/dev/sample/jupyter_kustomize/base/tf.yaml @@ -0,0 +1,68 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: tf-notebook-pvc + namespace: org1 +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 1Gi + storageClassName: user-nas +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: tf-notebook + labels: + workload-name: customer3 +spec: + replicas: 1 + selector: + matchLabels: + app: tf-notebook + workload-name: customer3 + template: + metadata: + labels: + app: tf-notebook + workload-name: customer3 + spec: + nodeSelector: + nodegroup: v100 + containers: + - name: tf-notebook + image: tensorflow/tensorflow:2.16.2-gpu-jupyter + resources: + limits: + cpu: "4" + memory: 16Gi + nvidia.com/gpu: 1 + ports: + - containerPort: 8888 + name: notebook + volumeMounts: + - name: notebook-storage + mountPath: /sample + volumes: + - name: notebook-storage + persistentVolumeClaim: + claimName: tf-notebook-pvc +--- +apiVersion: v1 +kind: Service +metadata: + name: tf-notebook + labels: + app: tf-notebook + workload-name: customer3 +spec: + type: ClusterIP + ports: + - port: 80 + name: http + targetPort: 8888 + selector: + app: tf-notebook + workload-name: customer3 diff --git a/dev/sample/jupyter_kustomize/overlays/1_jupyter/kustomization.yaml b/dev/sample/jupyter_kustomize/overlays/1_jupyter/kustomization.yaml new file mode 100644 index 0000000..f406049 --- /dev/null +++ b/dev/sample/jupyter_kustomize/overlays/1_jupyter/kustomization.yaml @@ -0,0 +1,16 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - ../../base + +namePrefix: a1- +namespace: org1 + + +patches: + - path: patch-pvc.yaml + target: + kind: PersistentVolumeClaim + name: tf-notebook-pvc + namespace: org1 diff --git a/dev/sample/jupyter_kustomize/overlays/1_jupyter/patch-pvc.yaml b/dev/sample/jupyter_kustomize/overlays/1_jupyter/patch-pvc.yaml new file mode 100644 index 0000000..63047c0 --- /dev/null +++ b/dev/sample/jupyter_kustomize/overlays/1_jupyter/patch-pvc.yaml @@ -0,0 +1,10 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: tf-notebook-pvc + namespace: org1 +spec: + resources: + requests: + storage: 10Gi + diff --git a/dev/sample/jupyter_kustomize/overlays/2_jupyter/kustomization.yaml b/dev/sample/jupyter_kustomize/overlays/2_jupyter/kustomization.yaml new file mode 100644 index 0000000..659e7f0 --- /dev/null +++ b/dev/sample/jupyter_kustomize/overlays/2_jupyter/kustomization.yaml @@ -0,0 +1,16 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - ../../base + +namePrefix: a2- +namespace: org1 + + +patches: + - path: patch-pvc.yaml + target: + kind: PersistentVolumeClaim + name: tf-notebook-pvc + namespace: org1 diff --git a/dev/sample/jupyter_kustomize/overlays/2_jupyter/patch-label.yaml b/dev/sample/jupyter_kustomize/overlays/2_jupyter/patch-label.yaml new file mode 100644 index 0000000..f35c7b3 --- /dev/null +++ b/dev/sample/jupyter_kustomize/overlays/2_jupyter/patch-label.yaml @@ -0,0 +1,54 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: tf-notebook +spec: + replicas: 2 + selector: + matchLabels: + app: tf-notebook + user: user1 + template: + metadata: + labels: + app: tf-notebook + user: user1 + spec: + nodeSelector: + nodegroup: gpu + containers: + - name: tf-notebook + image: tensorflow/tensorflow:2.16.2-gpu-jupyter + resources: + limits: + cpu: "4" + memory: 16Gi + nvidia.com/gpu: 2 + ports: + - containerPort: 8888 + name: notebook + volumeMounts: + - name: notebook-storage + mountPath: /sample + volumes: + - name: notebook-storage + persistentVolumeClaim: + claimName: tf-notebook-pvc +--- +apiVersion: v1 +kind: Service +metadata: + name: tf-notebook + labels: + app: tf-notebook + user: user1 +spec: + type: ClusterIP + ports: + - port: 80 + name: http + targetPort: 8888 + selector: + app: tf-notebook + user: user1 + diff --git a/dev/sample/jupyter_kustomize/overlays/2_jupyter/patch-pvc.yaml b/dev/sample/jupyter_kustomize/overlays/2_jupyter/patch-pvc.yaml new file mode 100644 index 0000000..63047c0 --- /dev/null +++ b/dev/sample/jupyter_kustomize/overlays/2_jupyter/patch-pvc.yaml @@ -0,0 +1,10 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: tf-notebook-pvc + namespace: org1 +spec: + resources: + requests: + storage: 10Gi + diff --git a/dev/sample/jupyter_kustomize/overlays/2_jupyter/test.yaml b/dev/sample/jupyter_kustomize/overlays/2_jupyter/test.yaml new file mode 100644 index 0000000..fd6f6bb --- /dev/null +++ b/dev/sample/jupyter_kustomize/overlays/2_jupyter/test.yaml @@ -0,0 +1,46 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: a1-tf-notebook-pvc + namespace: org2 +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 10Gi + storageClassName: nfs-client +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: a1-tf-notebook + namespace: org2 +spec: + replicas: 1 + selector: + matchLabels: + app: tf-notebook + template: + metadata: + labels: + app: tf-notebook + spec: + containers: + - image: tensorflow/tensorflow:2.16.2-gpu-jupyter + name: tf-notebook + ports: + - containerPort: 8888 + name: notebook + resources: + limits: + nvidia.com/gpu: 1 + volumeMounts: + - mountPath: /sample + name: notebook-storage + nodeSelector: + nodegroup: gpu + volumes: + - name: notebook-storage + persistentVolumeClaim: + claimName: a1-tf-notebook-pvc diff --git a/dev/sample/jupyter_kustomize/overlays/3_jupyter/kustomization.yaml b/dev/sample/jupyter_kustomize/overlays/3_jupyter/kustomization.yaml new file mode 100644 index 0000000..78df7eb --- /dev/null +++ b/dev/sample/jupyter_kustomize/overlays/3_jupyter/kustomization.yaml @@ -0,0 +1,16 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - ../../base + +namePrefix: a3- +namespace: org2 + + +patches: + - path: patch-pvc.yaml + target: + kind: PersistentVolumeClaim + name: tf-notebook-pvc + namespace: org1 diff --git a/dev/sample/jupyter_kustomize/overlays/3_jupyter/patch-label.yaml b/dev/sample/jupyter_kustomize/overlays/3_jupyter/patch-label.yaml new file mode 100644 index 0000000..f35c7b3 --- /dev/null +++ b/dev/sample/jupyter_kustomize/overlays/3_jupyter/patch-label.yaml @@ -0,0 +1,54 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: tf-notebook +spec: + replicas: 2 + selector: + matchLabels: + app: tf-notebook + user: user1 + template: + metadata: + labels: + app: tf-notebook + user: user1 + spec: + nodeSelector: + nodegroup: gpu + containers: + - name: tf-notebook + image: tensorflow/tensorflow:2.16.2-gpu-jupyter + resources: + limits: + cpu: "4" + memory: 16Gi + nvidia.com/gpu: 2 + ports: + - containerPort: 8888 + name: notebook + volumeMounts: + - name: notebook-storage + mountPath: /sample + volumes: + - name: notebook-storage + persistentVolumeClaim: + claimName: tf-notebook-pvc +--- +apiVersion: v1 +kind: Service +metadata: + name: tf-notebook + labels: + app: tf-notebook + user: user1 +spec: + type: ClusterIP + ports: + - port: 80 + name: http + targetPort: 8888 + selector: + app: tf-notebook + user: user1 + diff --git a/dev/sample/jupyter_kustomize/overlays/3_jupyter/patch-pvc.yaml b/dev/sample/jupyter_kustomize/overlays/3_jupyter/patch-pvc.yaml new file mode 100644 index 0000000..63047c0 --- /dev/null +++ b/dev/sample/jupyter_kustomize/overlays/3_jupyter/patch-pvc.yaml @@ -0,0 +1,10 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: tf-notebook-pvc + namespace: org1 +spec: + resources: + requests: + storage: 10Gi + diff --git a/dev/sample/jupyter_kustomize/overlays/3_jupyter/test.yaml b/dev/sample/jupyter_kustomize/overlays/3_jupyter/test.yaml new file mode 100644 index 0000000..fd6f6bb --- /dev/null +++ b/dev/sample/jupyter_kustomize/overlays/3_jupyter/test.yaml @@ -0,0 +1,46 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: a1-tf-notebook-pvc + namespace: org2 +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 10Gi + storageClassName: nfs-client +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: a1-tf-notebook + namespace: org2 +spec: + replicas: 1 + selector: + matchLabels: + app: tf-notebook + template: + metadata: + labels: + app: tf-notebook + spec: + containers: + - image: tensorflow/tensorflow:2.16.2-gpu-jupyter + name: tf-notebook + ports: + - containerPort: 8888 + name: notebook + resources: + limits: + nvidia.com/gpu: 1 + volumeMounts: + - mountPath: /sample + name: notebook-storage + nodeSelector: + nodegroup: gpu + volumes: + - name: notebook-storage + persistentVolumeClaim: + claimName: a1-tf-notebook-pvc diff --git a/dev/sample/jupyter_kustomize/overlays/4_jupyter/kustomization.yaml b/dev/sample/jupyter_kustomize/overlays/4_jupyter/kustomization.yaml new file mode 100644 index 0000000..251c0ba --- /dev/null +++ b/dev/sample/jupyter_kustomize/overlays/4_jupyter/kustomization.yaml @@ -0,0 +1,16 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - ../../base + +namePrefix: a4- +namespace: org2 + + +patches: + - path: patch-pvc.yaml + target: + kind: PersistentVolumeClaim + name: tf-notebook-pvc + namespace: org1 diff --git a/dev/sample/jupyter_kustomize/overlays/4_jupyter/patch-label.yaml b/dev/sample/jupyter_kustomize/overlays/4_jupyter/patch-label.yaml new file mode 100644 index 0000000..f35c7b3 --- /dev/null +++ b/dev/sample/jupyter_kustomize/overlays/4_jupyter/patch-label.yaml @@ -0,0 +1,54 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: tf-notebook +spec: + replicas: 2 + selector: + matchLabels: + app: tf-notebook + user: user1 + template: + metadata: + labels: + app: tf-notebook + user: user1 + spec: + nodeSelector: + nodegroup: gpu + containers: + - name: tf-notebook + image: tensorflow/tensorflow:2.16.2-gpu-jupyter + resources: + limits: + cpu: "4" + memory: 16Gi + nvidia.com/gpu: 2 + ports: + - containerPort: 8888 + name: notebook + volumeMounts: + - name: notebook-storage + mountPath: /sample + volumes: + - name: notebook-storage + persistentVolumeClaim: + claimName: tf-notebook-pvc +--- +apiVersion: v1 +kind: Service +metadata: + name: tf-notebook + labels: + app: tf-notebook + user: user1 +spec: + type: ClusterIP + ports: + - port: 80 + name: http + targetPort: 8888 + selector: + app: tf-notebook + user: user1 + diff --git a/dev/sample/jupyter_kustomize/overlays/4_jupyter/patch-pvc.yaml b/dev/sample/jupyter_kustomize/overlays/4_jupyter/patch-pvc.yaml new file mode 100644 index 0000000..63047c0 --- /dev/null +++ b/dev/sample/jupyter_kustomize/overlays/4_jupyter/patch-pvc.yaml @@ -0,0 +1,10 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: tf-notebook-pvc + namespace: org1 +spec: + resources: + requests: + storage: 10Gi + diff --git a/dev/sample/jupyter_kustomize/overlays/4_jupyter/test.yaml b/dev/sample/jupyter_kustomize/overlays/4_jupyter/test.yaml new file mode 100644 index 0000000..fd6f6bb --- /dev/null +++ b/dev/sample/jupyter_kustomize/overlays/4_jupyter/test.yaml @@ -0,0 +1,46 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: a1-tf-notebook-pvc + namespace: org2 +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 10Gi + storageClassName: nfs-client +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: a1-tf-notebook + namespace: org2 +spec: + replicas: 1 + selector: + matchLabels: + app: tf-notebook + template: + metadata: + labels: + app: tf-notebook + spec: + containers: + - image: tensorflow/tensorflow:2.16.2-gpu-jupyter + name: tf-notebook + ports: + - containerPort: 8888 + name: notebook + resources: + limits: + nvidia.com/gpu: 1 + volumeMounts: + - mountPath: /sample + name: notebook-storage + nodeSelector: + nodegroup: gpu + volumes: + - name: notebook-storage + persistentVolumeClaim: + claimName: a1-tf-notebook-pvc diff --git a/dev/sample/jupyter_kustomize/overlays/5_jupyter/kustomization.yaml b/dev/sample/jupyter_kustomize/overlays/5_jupyter/kustomization.yaml new file mode 100644 index 0000000..e1e0511 --- /dev/null +++ b/dev/sample/jupyter_kustomize/overlays/5_jupyter/kustomization.yaml @@ -0,0 +1,16 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - ../../base + +namePrefix: a5- +namespace: org3 + + +patches: + - path: patch-pvc.yaml + target: + kind: PersistentVolumeClaim + name: tf-notebook-pvc + namespace: org1 diff --git a/dev/sample/jupyter_kustomize/overlays/5_jupyter/patch-label.yaml b/dev/sample/jupyter_kustomize/overlays/5_jupyter/patch-label.yaml new file mode 100644 index 0000000..f35c7b3 --- /dev/null +++ b/dev/sample/jupyter_kustomize/overlays/5_jupyter/patch-label.yaml @@ -0,0 +1,54 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: tf-notebook +spec: + replicas: 2 + selector: + matchLabels: + app: tf-notebook + user: user1 + template: + metadata: + labels: + app: tf-notebook + user: user1 + spec: + nodeSelector: + nodegroup: gpu + containers: + - name: tf-notebook + image: tensorflow/tensorflow:2.16.2-gpu-jupyter + resources: + limits: + cpu: "4" + memory: 16Gi + nvidia.com/gpu: 2 + ports: + - containerPort: 8888 + name: notebook + volumeMounts: + - name: notebook-storage + mountPath: /sample + volumes: + - name: notebook-storage + persistentVolumeClaim: + claimName: tf-notebook-pvc +--- +apiVersion: v1 +kind: Service +metadata: + name: tf-notebook + labels: + app: tf-notebook + user: user1 +spec: + type: ClusterIP + ports: + - port: 80 + name: http + targetPort: 8888 + selector: + app: tf-notebook + user: user1 + diff --git a/dev/sample/jupyter_kustomize/overlays/5_jupyter/patch-pvc.yaml b/dev/sample/jupyter_kustomize/overlays/5_jupyter/patch-pvc.yaml new file mode 100644 index 0000000..63047c0 --- /dev/null +++ b/dev/sample/jupyter_kustomize/overlays/5_jupyter/patch-pvc.yaml @@ -0,0 +1,10 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: tf-notebook-pvc + namespace: org1 +spec: + resources: + requests: + storage: 10Gi + diff --git a/dev/sample/jupyter_kustomize/overlays/5_jupyter/test.yaml b/dev/sample/jupyter_kustomize/overlays/5_jupyter/test.yaml new file mode 100644 index 0000000..fd6f6bb --- /dev/null +++ b/dev/sample/jupyter_kustomize/overlays/5_jupyter/test.yaml @@ -0,0 +1,46 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: a1-tf-notebook-pvc + namespace: org2 +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 10Gi + storageClassName: nfs-client +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: a1-tf-notebook + namespace: org2 +spec: + replicas: 1 + selector: + matchLabels: + app: tf-notebook + template: + metadata: + labels: + app: tf-notebook + spec: + containers: + - image: tensorflow/tensorflow:2.16.2-gpu-jupyter + name: tf-notebook + ports: + - containerPort: 8888 + name: notebook + resources: + limits: + nvidia.com/gpu: 1 + volumeMounts: + - mountPath: /sample + name: notebook-storage + nodeSelector: + nodegroup: gpu + volumes: + - name: notebook-storage + persistentVolumeClaim: + claimName: a1-tf-notebook-pvc diff --git a/dev/sample/jupyter_kustomize/overlays/6_jupyter/kustomization.yaml b/dev/sample/jupyter_kustomize/overlays/6_jupyter/kustomization.yaml new file mode 100644 index 0000000..45425e3 --- /dev/null +++ b/dev/sample/jupyter_kustomize/overlays/6_jupyter/kustomization.yaml @@ -0,0 +1,16 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - ../../base + +namePrefix: a6- +namespace: org3 + + +patches: + - path: patch-pvc.yaml + target: + kind: PersistentVolumeClaim + name: tf-notebook-pvc + namespace: org1 diff --git a/dev/sample/jupyter_kustomize/overlays/6_jupyter/patch-label.yaml b/dev/sample/jupyter_kustomize/overlays/6_jupyter/patch-label.yaml new file mode 100644 index 0000000..f35c7b3 --- /dev/null +++ b/dev/sample/jupyter_kustomize/overlays/6_jupyter/patch-label.yaml @@ -0,0 +1,54 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: tf-notebook +spec: + replicas: 2 + selector: + matchLabels: + app: tf-notebook + user: user1 + template: + metadata: + labels: + app: tf-notebook + user: user1 + spec: + nodeSelector: + nodegroup: gpu + containers: + - name: tf-notebook + image: tensorflow/tensorflow:2.16.2-gpu-jupyter + resources: + limits: + cpu: "4" + memory: 16Gi + nvidia.com/gpu: 2 + ports: + - containerPort: 8888 + name: notebook + volumeMounts: + - name: notebook-storage + mountPath: /sample + volumes: + - name: notebook-storage + persistentVolumeClaim: + claimName: tf-notebook-pvc +--- +apiVersion: v1 +kind: Service +metadata: + name: tf-notebook + labels: + app: tf-notebook + user: user1 +spec: + type: ClusterIP + ports: + - port: 80 + name: http + targetPort: 8888 + selector: + app: tf-notebook + user: user1 + diff --git a/dev/sample/jupyter_kustomize/overlays/6_jupyter/patch-pvc.yaml b/dev/sample/jupyter_kustomize/overlays/6_jupyter/patch-pvc.yaml new file mode 100644 index 0000000..63047c0 --- /dev/null +++ b/dev/sample/jupyter_kustomize/overlays/6_jupyter/patch-pvc.yaml @@ -0,0 +1,10 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: tf-notebook-pvc + namespace: org1 +spec: + resources: + requests: + storage: 10Gi + diff --git a/dev/sample/jupyter_kustomize/overlays/6_jupyter/test.yaml b/dev/sample/jupyter_kustomize/overlays/6_jupyter/test.yaml new file mode 100644 index 0000000..fd6f6bb --- /dev/null +++ b/dev/sample/jupyter_kustomize/overlays/6_jupyter/test.yaml @@ -0,0 +1,46 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: a1-tf-notebook-pvc + namespace: org2 +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 10Gi + storageClassName: nfs-client +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: a1-tf-notebook + namespace: org2 +spec: + replicas: 1 + selector: + matchLabels: + app: tf-notebook + template: + metadata: + labels: + app: tf-notebook + spec: + containers: + - image: tensorflow/tensorflow:2.16.2-gpu-jupyter + name: tf-notebook + ports: + - containerPort: 8888 + name: notebook + resources: + limits: + nvidia.com/gpu: 1 + volumeMounts: + - mountPath: /sample + name: notebook-storage + nodeSelector: + nodegroup: gpu + volumes: + - name: notebook-storage + persistentVolumeClaim: + claimName: a1-tf-notebook-pvc diff --git a/dev/sample/jupyter_kustomize/overlays/7_jupyter/kustomization.yaml b/dev/sample/jupyter_kustomize/overlays/7_jupyter/kustomization.yaml new file mode 100644 index 0000000..1884717 --- /dev/null +++ b/dev/sample/jupyter_kustomize/overlays/7_jupyter/kustomization.yaml @@ -0,0 +1,16 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - ../../base + +namePrefix: a7- +namespace: org1 + + +patches: + - path: patch-pvc.yaml + target: + kind: PersistentVolumeClaim + name: tf-notebook-pvc + namespace: org1 diff --git a/dev/sample/jupyter_kustomize/overlays/7_jupyter/patch-label.yaml b/dev/sample/jupyter_kustomize/overlays/7_jupyter/patch-label.yaml new file mode 100644 index 0000000..f35c7b3 --- /dev/null +++ b/dev/sample/jupyter_kustomize/overlays/7_jupyter/patch-label.yaml @@ -0,0 +1,54 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: tf-notebook +spec: + replicas: 2 + selector: + matchLabels: + app: tf-notebook + user: user1 + template: + metadata: + labels: + app: tf-notebook + user: user1 + spec: + nodeSelector: + nodegroup: gpu + containers: + - name: tf-notebook + image: tensorflow/tensorflow:2.16.2-gpu-jupyter + resources: + limits: + cpu: "4" + memory: 16Gi + nvidia.com/gpu: 2 + ports: + - containerPort: 8888 + name: notebook + volumeMounts: + - name: notebook-storage + mountPath: /sample + volumes: + - name: notebook-storage + persistentVolumeClaim: + claimName: tf-notebook-pvc +--- +apiVersion: v1 +kind: Service +metadata: + name: tf-notebook + labels: + app: tf-notebook + user: user1 +spec: + type: ClusterIP + ports: + - port: 80 + name: http + targetPort: 8888 + selector: + app: tf-notebook + user: user1 + diff --git a/dev/sample/jupyter_kustomize/overlays/7_jupyter/patch-pvc.yaml b/dev/sample/jupyter_kustomize/overlays/7_jupyter/patch-pvc.yaml new file mode 100644 index 0000000..63047c0 --- /dev/null +++ b/dev/sample/jupyter_kustomize/overlays/7_jupyter/patch-pvc.yaml @@ -0,0 +1,10 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: tf-notebook-pvc + namespace: org1 +spec: + resources: + requests: + storage: 10Gi + diff --git a/dev/sample/jupyter_kustomize/overlays/7_jupyter/test.yaml b/dev/sample/jupyter_kustomize/overlays/7_jupyter/test.yaml new file mode 100644 index 0000000..fd6f6bb --- /dev/null +++ b/dev/sample/jupyter_kustomize/overlays/7_jupyter/test.yaml @@ -0,0 +1,46 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: a1-tf-notebook-pvc + namespace: org2 +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 10Gi + storageClassName: nfs-client +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: a1-tf-notebook + namespace: org2 +spec: + replicas: 1 + selector: + matchLabels: + app: tf-notebook + template: + metadata: + labels: + app: tf-notebook + spec: + containers: + - image: tensorflow/tensorflow:2.16.2-gpu-jupyter + name: tf-notebook + ports: + - containerPort: 8888 + name: notebook + resources: + limits: + nvidia.com/gpu: 1 + volumeMounts: + - mountPath: /sample + name: notebook-storage + nodeSelector: + nodegroup: gpu + volumes: + - name: notebook-storage + persistentVolumeClaim: + claimName: a1-tf-notebook-pvc diff --git a/dev/sample/jupyter_kustomize/overlays/default/kustomization.yaml b/dev/sample/jupyter_kustomize/overlays/default/kustomization.yaml new file mode 100644 index 0000000..7294c1a --- /dev/null +++ b/dev/sample/jupyter_kustomize/overlays/default/kustomization.yaml @@ -0,0 +1,16 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - ../../base + +namePrefix: a1- +namespace: org2 + + +patches: + - path: patch-pvc.yaml + target: + kind: PersistentVolumeClaim + name: tf-notebook-pvc + namespace: org1 diff --git a/dev/sample/jupyter_kustomize/overlays/default/patch-pvc.yaml b/dev/sample/jupyter_kustomize/overlays/default/patch-pvc.yaml new file mode 100644 index 0000000..63047c0 --- /dev/null +++ b/dev/sample/jupyter_kustomize/overlays/default/patch-pvc.yaml @@ -0,0 +1,10 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: tf-notebook-pvc + namespace: org1 +spec: + resources: + requests: + storage: 10Gi + diff --git a/dev/sample/jupyter_kustomize/overlays/default/test.yaml b/dev/sample/jupyter_kustomize/overlays/default/test.yaml new file mode 100644 index 0000000..fd6f6bb --- /dev/null +++ b/dev/sample/jupyter_kustomize/overlays/default/test.yaml @@ -0,0 +1,46 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: a1-tf-notebook-pvc + namespace: org2 +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 10Gi + storageClassName: nfs-client +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: a1-tf-notebook + namespace: org2 +spec: + replicas: 1 + selector: + matchLabels: + app: tf-notebook + template: + metadata: + labels: + app: tf-notebook + spec: + containers: + - image: tensorflow/tensorflow:2.16.2-gpu-jupyter + name: tf-notebook + ports: + - containerPort: 8888 + name: notebook + resources: + limits: + nvidia.com/gpu: 1 + volumeMounts: + - mountPath: /sample + name: notebook-storage + nodeSelector: + nodegroup: gpu + volumes: + - name: notebook-storage + persistentVolumeClaim: + claimName: a1-tf-notebook-pvc