From 9d55aad391ae88667c16ac073bbba51ff53ceded Mon Sep 17 00:00:00 2001 From: Celestino Rey Date: Wed, 8 Feb 2023 16:18:21 +0100 Subject: [PATCH] Un ejemplo de ingress funcionando --- EjemploIngress/app-hola-dos.yaml | 33 +++++++++++ EjemploIngress/app-hola-uno.yaml | 33 +++++++++++ EjemploIngress/creaTodo.sh | 4 ++ EjemploIngress/dos-deployment.yaml | 61 +++++++++++++++++++++ EjemploIngress/entra1.sh | 1 + EjemploIngress/entra2.sh | 1 + EjemploIngress/ingress.yaml | 36 ++++++++++++ EjemploIngress/kustomization.yaml | 4 ++ EjemploIngress/paraTodo.sh | 3 + EjemploIngress/pv-local-dos.yaml | 11 ++++ EjemploIngress/pv-local-uno.yaml | 11 ++++ EjemploIngress/uno-deployment.yaml | 61 +++++++++++++++++++++ Nginx/ingress.yaml | 6 +- Nginx/miweb-deployment.yaml | 4 +- Nginx/miweb-deployment.yaml.antesDeIngress | 64 ++++++++++++++++++++++ 15 files changed, 328 insertions(+), 5 deletions(-) create mode 100644 EjemploIngress/app-hola-dos.yaml create mode 100644 EjemploIngress/app-hola-uno.yaml create mode 100755 EjemploIngress/creaTodo.sh create mode 100644 EjemploIngress/dos-deployment.yaml create mode 100644 EjemploIngress/entra1.sh create mode 100644 EjemploIngress/entra2.sh create mode 100644 EjemploIngress/ingress.yaml create mode 100644 EjemploIngress/kustomization.yaml create mode 100755 EjemploIngress/paraTodo.sh create mode 100644 EjemploIngress/pv-local-dos.yaml create mode 100644 EjemploIngress/pv-local-uno.yaml create mode 100644 EjemploIngress/uno-deployment.yaml create mode 100644 Nginx/miweb-deployment.yaml.antesDeIngress diff --git a/EjemploIngress/app-hola-dos.yaml b/EjemploIngress/app-hola-dos.yaml new file mode 100644 index 00000000..34758469 --- /dev/null +++ b/EjemploIngress/app-hola-dos.yaml @@ -0,0 +1,33 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: app-helloworld-two +spec: + replicas: 1 + selector: + matchLabels: + app: app-helloworld-two + template: + metadata: + labels: + app: app-helloworld-two + spec: + containers: + - name: app-helloworld-two + image: nginx + ports: + - containerPort: 80 + env: + - name: TITLE + value: "Welcome to Azure Kubernetes Service (AKS)" +--- +apiVersion: v1 +kind: Service +metadata: + name: app-helloworld-two +spec: + type: ClusterIP + ports: + - port: 80 + selector: + app: app-helloworld-two diff --git a/EjemploIngress/app-hola-uno.yaml b/EjemploIngress/app-hola-uno.yaml new file mode 100644 index 00000000..48509c3b --- /dev/null +++ b/EjemploIngress/app-hola-uno.yaml @@ -0,0 +1,33 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: app-helloworld-one +spec: + replicas: 1 + selector: + matchLabels: + app: app-helloworld-one + template: + metadata: + labels: + app: app-helloworld-one + spec: + containers: + - name: app-helloworld-one + image: nginx + ports: + - containerPort: 80 + env: + - name: TITLE + value: "Welcome to Azure Kubernetes Service (AKS)" +--- +apiVersion: v1 +kind: Service +metadata: + name: app-helloworld-one +spec: + type: ClusterIP + ports: + - port: 80 + selector: + app: app-helloworld-one diff --git a/EjemploIngress/creaTodo.sh b/EjemploIngress/creaTodo.sh new file mode 100755 index 00000000..582d60ca --- /dev/null +++ b/EjemploIngress/creaTodo.sh @@ -0,0 +1,4 @@ +kubectl create -f pv-local-dos.yaml +kubectl create -f pv-local-uno.yaml +kubectl create -k ./ +#watch kubectl get all diff --git a/EjemploIngress/dos-deployment.yaml b/EjemploIngress/dos-deployment.yaml new file mode 100644 index 00000000..b2538b0c --- /dev/null +++ b/EjemploIngress/dos-deployment.yaml @@ -0,0 +1,61 @@ +apiVersion: v1 +kind: Service +metadata: + name: hello-dos +spec: + type: ClusterIP + ports: + - name: http + port: 80 + selector: + app: hello-dos +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: hello-dos-pv-claim + labels: + app: hello-dos +spec: + accessModes: + - ReadWriteMany + storageClassName: "" + resources: + requests: + storage: 2Gi +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: hello-dos + labels: + app: hello-dos +spec: + selector: + matchLabels: + app: hello-dos + tier: frontend + strategy: + type: Recreate + template: + metadata: + labels: + app: hello-dos + tier: frontend + spec: + containers: + - name: hello-dos + #image: linuxserver/nginx + image: docker-registry:32000/minginx:2.0 + #image: httpd + ports: + - containerPort: 80 + volumeMounts: + - name: hello-dos-folder + mountPath: /usr/share/nginx/html + imagePullSecrets: + - name: reg-cred-secret + volumes: + - name: hello-dos-folder + persistentVolumeClaim: + claimName: hello-dos-pv-claim diff --git a/EjemploIngress/entra1.sh b/EjemploIngress/entra1.sh new file mode 100644 index 00000000..1cf149e2 --- /dev/null +++ b/EjemploIngress/entra1.sh @@ -0,0 +1 @@ +kubectl exec -ti deployment.apps/app-helloworld-one -- /bin/bash diff --git a/EjemploIngress/entra2.sh b/EjemploIngress/entra2.sh new file mode 100644 index 00000000..0c743dba --- /dev/null +++ b/EjemploIngress/entra2.sh @@ -0,0 +1 @@ +kubectl exec -ti deployment.apps/app-helloworld-two -- /bin/bash diff --git a/EjemploIngress/ingress.yaml b/EjemploIngress/ingress.yaml new file mode 100644 index 00000000..b7fa8481 --- /dev/null +++ b/EjemploIngress/ingress.yaml @@ -0,0 +1,36 @@ +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: hello-world-ingress + annotations: + nginx.ingress.kubernetes.io/ssl-redirect: "false" + nginx.ingress.kubernetes.io/use-regex: "true" + nginx.ingress.kubernetes.io/rewrite-target: /$2 +spec: + ingressClassName: nginx + rules: + - host: k8s-server + http: + paths: + - path: /hello-world-one(/|$)(.*) + pathType: Prefix + backend: + service: + name: hello-uno + port: + number: 80 + - path: /hello-world-two(/|$)(.*) + pathType: Prefix + backend: + service: + name: hello-dos + port: + number: 80 + - path: /(.*) + pathType: Prefix + backend: + service: + name: hello-uno + port: + number: 80 + diff --git a/EjemploIngress/kustomization.yaml b/EjemploIngress/kustomization.yaml new file mode 100644 index 00000000..369a34c3 --- /dev/null +++ b/EjemploIngress/kustomization.yaml @@ -0,0 +1,4 @@ +resources: + - uno-deployment.yaml + - dos-deployment.yaml + - ingress.yaml diff --git a/EjemploIngress/paraTodo.sh b/EjemploIngress/paraTodo.sh new file mode 100755 index 00000000..88fe375f --- /dev/null +++ b/EjemploIngress/paraTodo.sh @@ -0,0 +1,3 @@ +kubectl delete -k ./ +kubectl delete -f pv-local-uno.yaml +kubectl delete -f pv-local-dos.yaml diff --git a/EjemploIngress/pv-local-dos.yaml b/EjemploIngress/pv-local-dos.yaml new file mode 100644 index 00000000..5448f6e8 --- /dev/null +++ b/EjemploIngress/pv-local-dos.yaml @@ -0,0 +1,11 @@ +apiVersion: v1 +kind: PersistentVolume +metadata: + name: hello-dos-folder +spec: + capacity: + storage: 2Gi + accessModes: + - ReadWriteMany + hostPath: + path: "/mnt/cluster/hello/dos" diff --git a/EjemploIngress/pv-local-uno.yaml b/EjemploIngress/pv-local-uno.yaml new file mode 100644 index 00000000..08f41ce7 --- /dev/null +++ b/EjemploIngress/pv-local-uno.yaml @@ -0,0 +1,11 @@ +apiVersion: v1 +kind: PersistentVolume +metadata: + name: hello-uno-folder +spec: + capacity: + storage: 2Gi + accessModes: + - ReadWriteMany + hostPath: + path: "/mnt/cluster/hello/uno" diff --git a/EjemploIngress/uno-deployment.yaml b/EjemploIngress/uno-deployment.yaml new file mode 100644 index 00000000..9ecebea4 --- /dev/null +++ b/EjemploIngress/uno-deployment.yaml @@ -0,0 +1,61 @@ +apiVersion: v1 +kind: Service +metadata: + name: hello-uno +spec: + type: ClusterIP + ports: + - name: http + port: 80 + selector: + app: hello-uno +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: hello-uno-pv-claim + labels: + app: hello-uno +spec: + accessModes: + - ReadWriteMany + storageClassName: "" + resources: + requests: + storage: 2Gi +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: hello-uno + labels: + app: hello-uno +spec: + selector: + matchLabels: + app: hello-uno + tier: frontend + strategy: + type: Recreate + template: + metadata: + labels: + app: hello-uno + tier: frontend + spec: + containers: + - name: hello-uno + #image: linuxserver/nginx + image: docker-registry:32000/minginx:2.0 + #image: httpd + ports: + - containerPort: 80 + volumeMounts: + - name: hello-uno-folder + mountPath: /usr/share/nginx/html + imagePullSecrets: + - name: reg-cred-secret + volumes: + - name: hello-uno-folder + persistentVolumeClaim: + claimName: hello-uno-pv-claim diff --git a/Nginx/ingress.yaml b/Nginx/ingress.yaml index 750e883d..9e319508 100644 --- a/Nginx/ingress.yaml +++ b/Nginx/ingress.yaml @@ -3,12 +3,14 @@ kind: Ingress metadata: name: reymota-ingress annotations: - ingress.kubernetes.io/rewrite-target: / + nginx.ingress.kubernetes.io/ssl-redirect: "false" + nginx.ingress.kubernetes.io/use-regex: "true" + nginx.ingress.kubernetes.io/rewrite-target: /$2 spec: rules: - http: paths: - - path: /nginx + - path: /(.*) pathType: Prefix backend: service: diff --git a/Nginx/miweb-deployment.yaml b/Nginx/miweb-deployment.yaml index 8d5fb5da..4c96970c 100644 --- a/Nginx/miweb-deployment.yaml +++ b/Nginx/miweb-deployment.yaml @@ -55,9 +55,7 @@ spec: name: "nginx-http" volumeMounts: - name: nginx-www-folder - #mountPath: /config/www - mountPath: /config - #mountPath: /usr/local/apache2/htdocs + mountPath: /usr/share/nginx/html imagePullSecrets: - name: reg-cred-secret volumes: diff --git a/Nginx/miweb-deployment.yaml.antesDeIngress b/Nginx/miweb-deployment.yaml.antesDeIngress new file mode 100644 index 00000000..4c96970c --- /dev/null +++ b/Nginx/miweb-deployment.yaml.antesDeIngress @@ -0,0 +1,64 @@ +apiVersion: v1 +kind: Service +metadata: + name: nginx-example +spec: + type: NodePort + ports: + - name: http + port: 80 + nodePort: 30080 + targetPort: nginx-http + selector: + app: nginx +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: nginx-pv-claim + labels: + app: nginx +spec: + accessModes: + - ReadWriteMany + storageClassName: "" + resources: + requests: + storage: 2Gi +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: nginx-example + labels: + app: nginx +spec: + selector: + matchLabels: + app: nginx + tier: frontend + strategy: + type: Recreate + template: + metadata: + labels: + app: nginx + tier: frontend + spec: + containers: + - name: nginx + #image: linuxserver/nginx + image: docker-registry:32000/minginx:2.0 + #image: httpd + ports: + - containerPort: 80 + name: "nginx-http" + volumeMounts: + - name: nginx-www-folder + mountPath: /usr/share/nginx/html + imagePullSecrets: + - name: reg-cred-secret + volumes: + - name: nginx-www-folder + persistentVolumeClaim: + claimName: nginx-pv-claim