Kaynağa Gözat

need to delete deploy

Stefan McShane 2 yıl önce
ebeveyn
işleme
ccbf8d5c80

+ 1 - 1
local/3/newumbrella/Chart.lock

@@ -3,4 +3,4 @@ dependencies:
   repository: https://charts.getporter.dev
   version: 0.136.0
 digest: sha256:e2669625ae4afd9c65c245b04678fc93dc8d362aee9d963dcfeb086a551b1505
-generated: "2023-09-08T16:00:39.899337-04:00"
+generated: "2023-09-08T18:17:19.560999-04:00"

+ 89 - 0
local/3/template.yaml

@@ -0,0 +1,89 @@
+
+# Source: testchart/charts/legacy-web/templates/deployment.yaml
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: legacy2-web
+  labels:
+    helm.sh/chart: legacy-web-0.136.0
+    app.kubernetes.io/name: legacy-web
+    app.kubernetes.io/instance: umbrella-chart
+    app.kubernetes.io/version: "1.25.0"
+    app.kubernetes.io/managed-by: Helm
+spec:
+  replicas: 1
+  
+  
+  selector:
+    matchLabels:
+      app.kubernetes.io/name: legacy-web
+      app.kubernetes.io/instance: umbrella-chart
+  template:
+    metadata:
+      annotations:
+        helm.sh/revision: "1"
+      labels:
+        app.kubernetes.io/name: legacy-web
+        app.kubernetes.io/instance: umbrella-chart
+        porter.run/application-name: "umbrella-chart"
+    spec:
+      serviceAccountName: legacy-web
+      terminationGracePeriodSeconds: 30
+      hostAliases:
+        []
+      securityContext:
+        null
+      containers:
+        - name: legacy-web
+          securityContext:
+            null
+          image: "nginx:latest"
+          imagePullPolicy: Always
+          ports:
+            - name: http
+              containerPort: 80
+              protocol: TCP
+          
+          
+          
+          
+          resources:
+            requests:
+              cpu: 100m
+              memory: 256Mi
+            limits:
+              memory: 256Mi
+          
+          
+          env:
+            # Porter default environment variables
+            - name: PORTER_RESOURCES_RAM
+              value: "256Mi"
+            - name: PORTER_RESOURCES_CPU
+              value: "100m"
+            - name: PORTER_RESOURCES_REPLICAS
+              value: "1"
+            - name: PORTER_NODE_NAME
+              valueFrom:
+                fieldRef:
+                  fieldPath: spec.nodeName
+            - name: PORTER_POD_NAME
+              valueFrom:
+                fieldRef:
+                  fieldPath: metadata.name
+            - name: PORTER_POD_IP
+              valueFrom:
+                fieldRef:
+                  fieldPath: status.podIP
+            - name: PORTER_POD_IMAGE_TAG
+              value: "latest"
+            - name: PORTER_POD_REVISION
+              value: "1"
+            
+          
+          
+      tolerations:
+        - key: "removable"
+          operator: "Equal"
+          value: "true"
+          effect: "NoSchedule"

+ 146 - 0
local/3/templatefull.yaml

@@ -0,0 +1,146 @@
+---
+# Source: testchart/charts/legacy-web/templates/serviceaccount.yaml
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+  name: legacy-web
+  labels:
+    helm.sh/chart: legacy-web-0.136.0
+    app.kubernetes.io/name: legacy-web
+    app.kubernetes.io/instance: umbrella-chart
+    app.kubernetes.io/version: "1.25.0"
+    app.kubernetes.io/managed-by: Helm
+---
+# Source: testchart/charts/legacy-web/templates/service.yaml
+apiVersion: v1
+kind: Service
+metadata:
+  name: legacy-web
+  labels:
+    helm.sh/chart: legacy-web-0.136.0
+    app.kubernetes.io/name: legacy-web
+    app.kubernetes.io/instance: umbrella-chart
+    app.kubernetes.io/version: "1.25.0"
+    app.kubernetes.io/managed-by: Helm
+spec:
+  
+  type: ClusterIP
+  
+  ports:
+    - port: 80
+      targetPort: http
+      protocol: TCP
+      name: http
+  selector:
+    app.kubernetes.io/name: legacy-web
+    app.kubernetes.io/instance: umbrella-chart
+---
+# Source: testchart/charts/legacy-web/templates/deployment.yaml
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: legacy-web
+  labels:
+    helm.sh/chart: legacy-web-0.136.0
+    app.kubernetes.io/name: legacy-web
+    app.kubernetes.io/instance: umbrella-chart
+    app.kubernetes.io/version: "1.25.0"
+    app.kubernetes.io/managed-by: Helm
+spec:
+  replicas: 1
+  
+  
+  selector:
+    matchLabels:
+      app.kubernetes.io/name: legacy-web
+      app.kubernetes.io/instance: umbrella-chart
+  template:
+    metadata:
+      annotations:
+        helm.sh/revision: "1"
+      labels:
+        app.kubernetes.io/name: legacy-web
+        app.kubernetes.io/instance: umbrella-chart
+        porter.run/application-name: "umbrella-chart"
+    spec:
+      serviceAccountName: legacy-web
+      terminationGracePeriodSeconds: 30
+      hostAliases:
+        []
+      securityContext:
+        null
+      containers:
+        - name: legacy-web
+          securityContext:
+            null
+          image: "nginx:latest"
+          imagePullPolicy: Always
+          ports:
+            - name: http
+              containerPort: 80
+              protocol: TCP
+          
+          
+          
+          
+          resources:
+            requests:
+              cpu: 100m
+              memory: 256Mi
+            limits:
+              memory: 256Mi
+          
+          
+          env:
+            # Porter default environment variables
+            - name: PORTER_RESOURCES_RAM
+              value: "256Mi"
+            - name: PORTER_RESOURCES_CPU
+              value: "100m"
+            - name: PORTER_RESOURCES_REPLICAS
+              value: "1"
+            - name: PORTER_NODE_NAME
+              valueFrom:
+                fieldRef:
+                  fieldPath: spec.nodeName
+            - name: PORTER_POD_NAME
+              valueFrom:
+                fieldRef:
+                  fieldPath: metadata.name
+            - name: PORTER_POD_IP
+              valueFrom:
+                fieldRef:
+                  fieldPath: status.podIP
+            - name: PORTER_POD_IMAGE_TAG
+              value: "latest"
+            - name: PORTER_POD_REVISION
+              value: "1"
+            
+          
+          
+      tolerations:
+        - key: "removable"
+          operator: "Equal"
+          value: "true"
+          effect: "NoSchedule"
+---
+# Source: testchart/charts/legacy-web/templates/tests/test-connection.yaml
+apiVersion: v1
+kind: Pod
+metadata:
+  name: "legacy-web-test-connection"
+  labels:
+    helm.sh/chart: legacy-web-0.136.0
+    app.kubernetes.io/name: legacy-web
+    app.kubernetes.io/instance: umbrella-chart
+    app.kubernetes.io/version: "1.25.0"
+    app.kubernetes.io/managed-by: Helm
+  annotations:
+    "helm.sh/hook": test-success
+spec:
+  containers:
+    - name: wget
+      image: busybox
+      command: ['wget']
+      args: ['legacy-web:80']
+  restartPolicy: Never

+ 48 - 1
local/attempts.md

@@ -152,7 +152,7 @@ helm upgrade foo testchart
 DOESNT WORK BECAUSE OF RELEASE NAMES (SUSPECTED).
 Trying again with umbrella importing dependencies
 
-```
+```bash
 helm dependency build testumbrella
 
 KIND=deployment
@@ -186,3 +186,50 @@ kubectl label $KIND $NAME app.kubernetes.io/managed-by=Helm -n $NAMESPACE
 # Add bar to the chart
 helm upgrade foo testumbrella --set bar.MyName=bar --reuse-values
 ```
+
+Custom script with web charts - change this
+
+```bash
+helm dependency build newumbrella
+
+KIND=deployment
+EXISTING_RELEASE_NAME=legacy
+RELEASE_TYPE=web
+NAME=$EXISTING_RELEASE_NAME-$RELEASE_TYPE
+TARGET_RELEASE_NAME=umbrella-chart
+NAMESPACE=default
+
+# create umbrella chart which has hello-porter
+helm install $TARGET_RELEASE_NAME newumbrella
+
+# add exising chart as dep on Chart.yaml, with alias set as the old release name
+helm dependency update newumbrella
+
+# get existing values and indent the values to have the existing release name as a key which matches Chart.yaml
+helm get values $EXISTING_RELEASE_NAME > existing_values.yaml
+
+
+##### OTHER KINDS
+# KIND=deployment
+# kubectl annotate $KIND $NAME meta.helm.sh/release-name=$TARGET_RELEASE_NAME -n $NAMESPACE --overwrite
+# kubectl annotate $KIND $NAME meta.helm.sh/release-namespace=$NAMESPACE -n $NAMESPACE --overwrite
+# kubectl label $KIND $NAME app.kubernetes.io/managed-by=Helm -n $NAMESPACE
+
+#### deployment selectors cant be changed. We need to create a new deployment which goes into the existing service, then delete the existing deployment, then run an update on helm, then delete the manually created deployment
+
+KIND=svc
+kubectl annotate $KIND $NAME meta.helm.sh/release-name=$TARGET_RELEASE_NAME -n $NAMESPACE --overwrite
+kubectl annotate $KIND $NAME meta.helm.sh/release-namespace=$NAMESPACE -n $NAMESPACE --overwrite
+kubectl label $KIND $NAME app.kubernetes.io/managed-by=Helm -n $NAMESPACE
+
+KIND=sa
+kubectl annotate $KIND $NAME meta.helm.sh/release-name=$TARGET_RELEASE_NAME -n $NAMESPACE --overwrite
+kubectl annotate $KIND $NAME meta.helm.sh/release-namespace=$NAMESPACE -n $NAMESPACE --overwrite
+kubectl label $KIND $NAME app.kubernetes.io/managed-by=Helm -n $NAMESPACE
+##### OTHER KINDS END
+
+# must delete deployments to scale up new ones as selectors are immutable
+
+helm upgrade $TARGET_RELEASE_NAME newumbrella -f existing_values.yaml
+
+```