zhong (钟鹏群) 4 долоо хоног өмнө
parent
commit
1a4136b110

+ 108 - 0
deployments/flask-complete-with-ingress.yaml

@@ -0,0 +1,108 @@
+apiVersion: v1
+kind: Namespace
+metadata:
+  name: nginx-app
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: flask-app
+  namespace: nginx-app
+  labels:
+    app: flask-app
+spec:
+  replicas: 2
+  selector:
+    matchLabels:
+      app: flask-app
+  template:
+    metadata:
+      labels:
+        app: flask-app
+    spec:
+      containers:
+      - name: flask
+        image: registry.cn-hangzhou.aliyuncs.com/zhongpengqun/wanderer:amd64-linux-python-3.10-slim
+        ports:
+        - containerPort: 8000
+        env:
+        - name: FLASK_APP
+          value: "app.py"
+        command:
+        - sh
+        - -c
+        - |
+          pip install flask && \
+          echo '
+          from flask import Flask
+          app = Flask(__name__)
+          
+          @app.route("/")
+          def hello():
+              return "<h1>Hello from Flask on port 8000!</h1>"
+          
+          @app.route("/hello")
+          def hello_path():
+              return "<h1>Hello from Flask /hello path!</h1>"
+          
+          if __name__ == "__main__":
+              app.run(host="0.0.0.0", port=8000)
+          ' > /app.py && \
+          python /app.py
+        resources:
+          requests:
+            memory: "64Mi"
+            cpu: "250m"
+          limits:
+            memory: "128Mi"
+            cpu: "500m"
+
+---
+apiVersion: v1
+kind: Service
+metadata:
+  name: flask-service
+  namespace: nginx-app
+  labels:
+    app: flask-app
+spec:
+  selector:
+    app: flask-app
+  ports:
+    - protocol: TCP
+      port: 80
+      targetPort: 8000
+  type: ClusterIP
+
+---
+apiVersion: networking.k8s.io/v1
+kind: Ingress
+metadata:
+  name: flask-ingress
+  namespace: nginx-app
+  annotations:
+    kubernetes.io/ingress.class: "traefik"
+    traefik.ingress.kubernetes.io/router.middlewares: nginx-app-stripprefix@kubernetescrd
+spec:
+  rules:
+  - host: 215.9981.tech
+    http:
+      paths:
+      - path: /hello
+        pathType: Prefix
+        backend:
+          service:
+            name: flask-service
+            port:
+              number: 80
+
+---
+apiVersion: traefik.containo.us/v1alpha1
+kind: Middleware
+metadata:
+  name: stripprefix
+  namespace: nginx-app
+spec:
+  stripPrefix:
+    prefixes:
+      - /hello

+ 30 - 0
deployments/flask-ingress-with-middleware.yaml

@@ -0,0 +1,30 @@
+apiVersion: networking.k8s.io/v1
+kind: Ingress
+metadata:
+  name: flask-ingress
+  namespace: nginx-app
+  annotations:
+    kubernetes.io/ingress.class: "traefik"
+    traefik.ingress.kubernetes.io/router.middlewares: nginx-app-stripprefix@kubernetescrd
+spec:
+  rules:
+  - host: 215.9981.tech
+    http:
+      paths:
+      - path: /hello
+        pathType: Prefix
+        backend:
+          service:
+            name: flask-service
+            port:
+              number: 80
+---
+apiVersion: traefik.containo.us/v1alpha1
+kind: Middleware
+metadata:
+  name: stripprefix
+  namespace: nginx-app
+spec:
+  stripPrefix:
+    prefixes:
+      - /hello

+ 19 - 0
deployments/flask-ingress.yaml

@@ -0,0 +1,19 @@
+apiVersion: networking.k8s.io/v1
+kind: Ingress
+metadata:
+  name: flask-ingress
+  namespace: nginx-app
+  annotations:
+    kubernetes.io/ingress.class: "traefik"
+spec:
+  rules:
+  - host: 215.9981.tech
+    http:
+      paths:
+      - path: /hello
+        pathType: Prefix
+        backend:
+          service:
+            name: flask-service
+            port:
+              number: 80