فهرست منبع

Maybe updates

Fred Damstra [k8s4] 6 ماه پیش
والد
کامیت
6cfadd8c95
2فایلهای تغییر یافته به همراه241 افزوده شده و 110 حذف شده
  1. 131 0
      Workloads/octoprint.yaml
  2. 110 110
      Workloads/smokeping.yaml

+ 131 - 0
Workloads/octoprint.yaml

@@ -0,0 +1,131 @@
+apiVersion: v1
+kind: Service
+metadata:
+  name: octoprint
+  labels:
+    run: octoprint
+spec:
+  ports:
+    - name: http
+      port: 5000
+      targetPort: 5000
+  selector:
+    run: octoprint
+  type: LoadBalancer
+status:
+  loadBalancer: {}
+---
+apiVersion: v1
+kind: PersistentVolume
+metadata:
+  name: octoprint
+spec:
+  capacity:
+    storage: 100Mi
+  volumeMode: Filesystem
+  accessModes:
+    - ReadWriteOnce
+  persistentVolumeReclaimPolicy: Retain # Keep 4eva
+  storageClassName: default
+  mountOptions:
+    - hard
+    - nfsvers=3
+  nfs:
+    path: /mnt/DroboFS/Shares/Kubernetes/volumes/static/octoprint
+    server: 10.42.42.10
+  claimRef:
+    name: octoprint
+    namespace: default
+---
+apiVersion: v1
+kind: PersistentVolumeClaim
+metadata:
+#  labels:
+#    run: octoprint
+  name: octoprint
+spec:
+  storageClassName: default
+#  volumeName: octoprint
+  accessModes:
+    - ReadWriteOnce
+  resources:
+    requests:
+      storage: 100Mi
+status: {}
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: octoprint
+spec:
+  replicas: 1
+  selector:
+    matchLabels:
+      run: octoprint
+  strategy:
+    type: Recreate
+  template:
+    metadata:
+      labels:
+        run: octoprint
+    spec:
+      nodeSelector:
+        octoprint: "true"
+      containers:
+        - image: octoprint/octoprint
+          name: octoprint
+          securityContext:
+            privileged: true
+          env:
+          - name: OCTOPRINT_PORT
+            value: "5000"
+          ports:
+            - containerPort: 5000
+          resources: {}
+          volumeMounts:
+            - mountPath: /octoprint
+              name: octoprint
+            - mountPath: /dev/ttyUSB0
+              name: ttyusb
+      restartPolicy: Always
+      volumes:
+        - name: octoprint
+          persistentVolumeClaim:
+            claimName: octoprint
+        - name: ttyusb
+          hostPath: 
+            path: /dev/ttyUSB0
+status: {}
+---
+# Hosting
+apiVersion: networking.k8s.io/v1
+kind: Ingress
+metadata:
+  name: octoprint-ingress
+  annotations:
+    cert-manager.io/cluster-issuer: "letsencrypt-prod"
+    ## No basic auth for octoprint
+    ## type of authentication
+    #nginx.ingress.kubernetes.io/auth-type: basic
+    ## name of the secret that contains the user/password definitions
+    #nginx.ingress.kubernetes.io/auth-secret: basic-auth
+    ## message to display with an appropriate context why the authentication is required
+    #nginx.ingress.kubernetes.io/auth-realm: 'Authentication Required - Octoprint'
+    # Octoprint uses large attachments
+    nginx.ingress.kubernetes.io/proxy-body-size: 200m
+spec:
+  tls:
+  - hosts:
+    - octoprint.monkeybox.org
+    secretName: octoprint-tls
+  rules:
+  - host: octoprint.monkeybox.org
+    http:
+      paths:
+      - path: /
+        pathType: Prefix
+        backend:
+          service:
+            name: octoprint
+            port:
+              number: 5000

+ 110 - 110
Workloads/smokeping.yaml

@@ -11,97 +11,97 @@ spec:
       targetPort: 80
   selector:
     run: smokeping
-#  type: LoadBalancer
-#status:
-#  loadBalancer: {}
----
-apiVersion: v1
-kind: PersistentVolume
-metadata:
-  name: smokeping-data
-spec:
-  capacity:
-    storage: 10Ti
-  volumeMode: Filesystem
-  accessModes:
-    - ReadWriteMany
-  persistentVolumeReclaimPolicy: Retain # Keep 4eva
-  storageClassName: default
-  mountOptions:
-    - hard
+      #  type: LoadBalancer
+      #status:
+      #  loadBalancer: {}
+      ---
+    apiVersion: v1
+    kind: PersistentVolume
+    metadata:
+      name: smokeping-data
+    spec:
+      capacity:
+        storage: 10Ti
+    volumeMode: Filesystem
+    accessModes:
+      - ReadWriteMany
+    persistentVolumeReclaimPolicy: Retain # Keep 4eva
+    storageClassName: default
+    mountOptions:
+      - hard
     - nfsvers=3
-  nfs:
-    path: /mnt/DroboFS/Shares/Kubernetes/volumes/static/smokeping-data
+    nfs:
+      path: /mnt/DroboFS/Shares/Kubernetes/volumes/static/smokeping-data
     server: 10.42.42.10
-  claimRef:
-    name: smokeping-data
+    claimRef:
+      name: smokeping-data
     namespace: default
----
-apiVersion: v1
-kind: PersistentVolumeClaim
-metadata:
-  name: smokeping-data
-spec:
-  storageClassName: standard
-  accessModes:
-    - ReadWriteMany
-  resources:
-    requests:
-      storage: 10Ti
-status: {}
----
-apiVersion: v1
-kind: PersistentVolume
-metadata:
-  name: smokeping-config
-spec:
-  capacity:
-    storage: 5Mi
-  volumeMode: Filesystem
-  accessModes:
-    - ReadWriteMany
-  persistentVolumeReclaimPolicy: Retain # Keep 4eva
-  storageClassName: default
-  mountOptions:
-    - hard
+      ---
+    apiVersion: v1
+    kind: PersistentVolumeClaim
+    metadata:
+      name: smokeping-data
+    spec:
+      storaapiVersiongeClassName: standard
+    accessModes:
+      - ReadWriteMany
+    resources:
+      requests:
+        storage: 10Ti
+    status: {}
+      ---
+    apiVersion: v1
+    kind: PersistentVolume
+    metadata:
+      name: smokeping-config
+    spec:
+      capacity:
+        storage: 5Mi
+    volumeMode: Filesystem
+    accessModes:
+      - ReadWriteMany
+    persistentVolumeReclaimPolicy: Retain # Keep 4eva
+    storageClassName: default
+    mountOptions:
+      - hard
     - nfsvers=3
-  nfs:
-    path: /mnt/DroboFS/Shares/Kubernetes/volumes/static/smokeping-config
+    nfs:
+      path: /mnt/DroboFS/Shares/Kubernetes/volumes/static/smokeping-config
     server: 10.42.42.10
-  claimRef:
-    name: smokeping-config
+    claimRef:
+      name: smokeping-config
     namespace: default
----
-apiVersion: v1
-kind: PersistentVolumeClaim
-metadata:
-  name: smokeping-config
-  annotations:
-    nfs.io/storage-path: "smokeping-config"
-spec:
-  storageClassName: default
-  accessModes:
-    - ReadWriteMany
-  resources:
-    requests:
-      storage: 5Mi
-status: {}
----
-apiVersion: apps/v1
-kind: Deployment
-metadata:
-  name: smokeping
-spec:
-  replicas: 1
-  selector:
-    matchLabels:
-      run: smokeping
-  strategy:
-    type: Recreate
-  template:
+      ---
+    apiVersion: v1
+    kind: PersistentVolumeClaim
+    metadata:
+      name: smokeping-config
+    annotations:
+      nfs.io/storage-path: "smokeping-config"
+    spec:
+      storageClassName: default
+    accessModes:
+      - ReadWriteMany
+    resources:
+      requests:
+        storage: 5Mi
+    status: {}
+      ---
+    apiVersion: apps/v1
+    kind: Deployment
     metadata:
-      labels:
+      name: smokeping
+    spec:
+      replicas: 1
+    selector:
+      matchLabels:
         run: smokeping
+    strategy:
+      type: Recreate
+    template:
+      metadata:
+        labels:
+          run: smokeping
     spec:
       terminationGracePeriodSeconds: 30
       containers:
@@ -140,39 +140,39 @@ spec:
           - 10.42.42.1
         searches:
           - default.svc.cluster.local
-          - svc.cluster.local 
+          - svc.cluster.local
           - cluster.local
         options:
           - name: ndots
             value: "2"
           - name: edns0
           - name: trust-ad
-status: {}
----
-# Hosting
-apiVersion: networking.k8s.io/v1
-kind: Ingress
-metadata:
-  name: smokeping-ingress
-  annotations:
-    cert-manager.io/cluster-issuer: "letsencrypt-prod"
-    ## No basic auth for smokeping
-    ## type of authentication
-    #nginx.ingress.kubernetes.io/auth-type: basic
-    ## name of the secret that contains the user/password definitions
-    #nginx.ingress.kubernetes.io/auth-secret: basic-auth
-    ## message to display with an appropriate context why the authentication is required
-    #nginx.ingress.kubernetes.io/auth-realm: 'Authentication Required - Octoprint'
-spec:
-  tls:
-  - hosts:
-    - smokeping.monkeybox.org
-    secretName: smokeping-tls
-  rules:
-  - host: smokeping.monkeybox.org
-    http:
-      paths:
-      - path: /
+    status: {}
+      ---
+      # Hosting
+    apiVersion: networking.k8s.io/v1
+    kind: Ingress
+    metadata:
+      name: smokeping-ingress
+    annotations:
+      cert-manager.io/cluster-issuer: "letsencrypt-prod"
+        ## No basic auth for smokeping
+        ## type of authentication
+        #nginx.ingress.kubernetes.io/auth-type: basic
+        ## name of the secret that contains the user/password definitions
+        #nginx.ingress.kubernetes.io/auth-secret: basic-auth
+        ## message to display with an appropriate context why the authentication is required
+        #nginx.ingress.kubernetes.io/auth-realm: 'Authentication Required - Octoprint'
+      spec:
+        tls:
+          - hosts:
+            - smokeping.monkeybox.org
+      secretName: smokeping-tls
+      rules:
+        - host: smokeping.monkeybox.org
+      http:
+        paths:
+          - path: /
         pathType: Prefix
         backend:
           service: