Browse Source

Básicamente, tls funcionando

main
Celestino Rey 2 years ago
parent
commit
3f37ad4509
41 changed files with 654 additions and 30 deletions
  1. +4
    -0
      EjemploIngress/wp/creaTodo.sh
  2. +1
    -0
      EjemploIngress/wp/entra.sh
  3. +23
    -0
      EjemploIngress/wp/ingress.yaml
  4. +7
    -0
      EjemploIngress/wp/kustomization.yaml
  5. +70
    -0
      EjemploIngress/wp/mysql-deployment.yaml
  6. +3
    -0
      EjemploIngress/wp/paraTodo.sh
  7. +55
    -0
      EjemploIngress/wp/php-deployment.yaml
  8. +11
    -0
      EjemploIngress/wp/pv-local-mysql.yaml
  9. +12
    -0
      EjemploIngress/wp/pv-local-wordpress.yaml
  10. +11
    -0
      EjemploIngress/wp/registry-secrets.yaml
  11. +77
    -0
      EjemploIngress/wp/wordpress-deployment.yaml
  12. +9
    -0
      EjemploIngress/wp/wordpress-secrets.yaml
  13. +18
    -0
      EjemploIngress/wp/wp-ingress.yaml
  14. +4
    -0
      EjemploIngress/wp/wp-namespace.yaml
  15. +4
    -4
      HelmCharts/helmMiweb.sh
  16. +0
    -19
      HelmCharts/miweb-chart/templates/miweb-deployment.yaml
  17. +0
    -0
      HelmCharts/preparaMiweb/certbot-deployment.yaml
  18. +22
    -0
      HelmCharts/preparaMiweb/miweb-ingress.yaml
  19. +1
    -1
      HelmCharts/preparaMiweb/pv-local-miweb.yaml
  20. +22
    -0
      HelmCharts/preparaVaultwarden/vaultwarden-ingress.yaml
  21. +4
    -0
      Martin/Dockerfile
  22. +15
    -0
      Martin/cert-issuer.yaml
  23. +3
    -0
      Martin/comprobarVersionIngres.sh
  24. +27
    -0
      Martin/config.yaml
  25. +72
    -0
      Martin/deployment.yaml
  26. +25
    -0
      Martin/ingress.yaml
  27. +1
    -0
      Martin/instalaCertManager.sh
  28. +1
    -0
      Martin/instalaIngressController.sh
  29. +22
    -0
      Martin/service-loadbalancer.yaml
  30. +14
    -0
      Martin/service-loadbalancer.yaml.antesTLS
  31. +2
    -0
      Martin/src/index.php
  32. +1
    -1
      Nginx/entra.sh
  33. +1
    -1
      Nginx/ingress.yaml
  34. +2
    -2
      Nginx/miweb-deployment.yaml
  35. +1
    -1
      Nginx/pod.yaml
  36. +1
    -1
      Nginx/service-nodeport.yaml
  37. +21
    -0
      PeterDeTender/certs/ingress-tls.crt
  38. +28
    -0
      PeterDeTender/certs/ingress-tls.key
  39. +1
    -0
      PeterDeTender/instalaIngressController.sh
  40. +36
    -0
      PeterDeTender/sample-app.yaml
  41. +22
    -0
      PeterDeTender/sample-ingress.yaml

+ 4
- 0
EjemploIngress/wp/creaTodo.sh View File

@ -0,0 +1,4 @@
kubectl create -f pv-local-mysql.yaml
kubectl create -f pv-local-wordpress.yaml
kubectl create -k ./
#watch kubectl get all -n wordpress

+ 1
- 0
EjemploIngress/wp/entra.sh View File

@ -0,0 +1 @@
kubectl exec -ti deployment.apps/wordpress -n wordpress -- /bin/bash

+ 23
- 0
EjemploIngress/wp/ingress.yaml View File

@ -0,0 +1,23 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: wordpress-ingress
namespace: wordpress-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: /wordpress(/|$)(.*)
pathType: Prefix
backend:
service:
name: wordpress-ingress
port:
number: 80

+ 7
- 0
EjemploIngress/wp/kustomization.yaml View File

@ -0,0 +1,7 @@
resources:
- wp-namespace.yaml
- wordpress-secrets.yaml
- registry-secrets.yaml
- mysql-deployment.yaml
- wordpress-deployment.yaml
- php-deployment.yaml

+ 70
- 0
EjemploIngress/wp/mysql-deployment.yaml View File

@ -0,0 +1,70 @@
apiVersion: v1
kind: Service
metadata:
name: wordpress-ingress-mysql
namespace: wordpress-ingress
labels:
app: wordpress-ingress
spec:
ports:
- port: 3306
selector:
app: wordpress-ingress
tier: mysql
clusterIP: None
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: mysql-wp-ingress-pv-claim
namespace: wordpress-ingress
labels:
app: wordpress-ingress
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 20Gi
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: wordpress-ingress-mysql
namespace: wordpress-ingress
labels:
app: wordpress-ingress
spec:
selector:
matchLabels:
app: wordpress-ingress
tier: mysql
strategy:
type: Recreate
template:
metadata:
labels:
app: wordpress-ingress
tier: mysql
spec:
containers:
- image: docker-registry:32000/mariadb:1.0
name: mysql
env:
- name: MYSQL_ROOT_PASSWORD
valueFrom:
secretKeyRef:
name: mysqlwp-pass
key: password
ports:
- containerPort: 3306
name: mysql
volumeMounts:
- name: mysql-persistent-storage
mountPath: /var/lib/mysql
imagePullSecrets:
- name: reg-cred-secret
volumes:
- name: mysql-persistent-storage
persistentVolumeClaim:
claimName: mysql-wp-ingress-pv-claim

+ 3
- 0
EjemploIngress/wp/paraTodo.sh View File

@ -0,0 +1,3 @@
kubectl delete -k ./
kubectl delete -f pv-local-mysql.yaml
kubectl delete -f pv-local-wordpress.yaml

+ 55
- 0
EjemploIngress/wp/php-deployment.yaml View File

@ -0,0 +1,55 @@
apiVersion: v1
kind: Service
metadata:
name: phpmyadmin-wordpress-ingress
namespace: wordpress-ingress
labels:
app: wordpress-ingress
spec:
selector:
app: wordpress-ingress
tier: phpmyadmin
type: NodePort
ports:
- name: phpadmin
port: 80
targetPort: phpmyadm
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: phpmyadmin-wordpress-ingress
namespace: wordpress-ingress
labels:
app: wordpress-ingress
spec:
selector:
matchLabels:
app: wordpress-ingress
tier: phpmyadmin
strategy:
type: Recreate
template:
metadata:
labels:
app: wordpress-ingress
tier: phpmyadmin
spec:
containers:
- name: phpmyadmin
image: docker-registry:32000/phpmyadmin:1.0
ports:
- containerPort: 80
name: phpmyadm
env:
- name: PMA_HOST
value: wordpress-ingress-mysql
- name: PMA_PORT
value: "3306"
- name: MYSQL_ROOT_PASSWORD
valueFrom:
secretKeyRef:
name: mysqlwp-pass
key: password
imagePullSecrets:
- name: reg-cred-secret

+ 11
- 0
EjemploIngress/wp/pv-local-mysql.yaml View File

@ -0,0 +1,11 @@
apiVersion: v1
kind: PersistentVolume
metadata:
name: wp-ingress-data
spec:
capacity:
storage: 20Gi
accessModes:
- ReadWriteOnce
hostPath:
path: "/mnt/Externo/wordpress/wordpress-db"

+ 12
- 0
EjemploIngress/wp/pv-local-wordpress.yaml View File

@ -0,0 +1,12 @@
apiVersion: v1
kind: PersistentVolume
metadata:
name: wp-ingress-folder
spec:
capacity:
storage: 10Gi
accessModes:
- ReadWriteOnce
hostPath:
path: "/mnt/Externo/wordpress/wordpress-wp"

+ 11
- 0
EjemploIngress/wp/registry-secrets.yaml View File

@ -0,0 +1,11 @@
apiVersion: v1
data:
.dockerconfigjson: eyJhdXRocyI6eyJkb2NrZXItcmVnaXN0cnk6MzIwMDAiOnsidXNlcm5hbWUiOiJjcmV5bG9wZXoiLCJwYXNzd29yZCI6IlJleS0xMTc2IiwiYXV0aCI6IlkzSmxlV3h2Y0dWNk9sSmxlUzB4TVRjMiJ9fX0=
kind: Secret
metadata:
creationTimestamp: "2023-01-29T10:54:14Z"
name: reg-cred-secret
namespace: wordpress-ingress
resourceVersion: "19890385"
uid: 66b3b7c5-26c1-4e5a-af4e-dc973aaafe4b
type: kubernetes.io/dockerconfigjson

+ 77
- 0
EjemploIngress/wp/wordpress-deployment.yaml View File

@ -0,0 +1,77 @@
apiVersion: v1
kind: Service
metadata:
name: wordpress-ingress
namespace: wordpress-ingress
labels:
app: wordpress-ingress
spec:
type: ClusterIP
ports:
- port: 80
selector:
app: wordpress-ingress
tier: frontend
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: wp-ingress-pv-claim
namespace: wordpress-ingress
labels:
app: wordpress-ingress
spec:
accessModes:
- ReadWriteOnce
storageClassName: ""
resources:
requests:
storage: 10Gi
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: wordpress-ingress
namespace: wordpress-ingress
labels:
app: wordpress-ingress
spec:
selector:
matchLabels:
app: wordpress-ingress
tier: frontend
strategy:
type: Recreate
template:
metadata:
labels:
app: wordpress-ingress
tier: frontend
spec:
containers:
- image: docker-registry:32000/wordpress:1.0
name: wordpress-ingress
env:
- name: WORDPRESS_DB_HOST
value: wordpress-ingress-mysql
- name: WORDPRESS_DB_PASSWORD
valueFrom:
secretKeyRef:
name: mysqlwp-pass
key: password
- name: WORDPRESS_DB_USER
valueFrom:
secretKeyRef:
name: mysqlwp-pass
key: db_user
ports:
- containerPort: 80
volumeMounts:
- name: wordpress-ingress-persistent-storage
mountPath: /var/www/html
imagePullSecrets:
- name: reg-cred-secret
volumes:
- name: wordpress-ingress-persistent-storage
persistentVolumeClaim:
claimName: wp-ingress-pv-claim

+ 9
- 0
EjemploIngress/wp/wordpress-secrets.yaml View File

@ -0,0 +1,9 @@
apiVersion: v1
kind: Secret
metadata:
name: mysqlwp-pass
namespace: wordpress-ingress
data:
password: RHNhLTAyMTM=
db_user: cm9vdA==
db_passwd: RHNhLTAyMTM=

+ 18
- 0
EjemploIngress/wp/wp-ingress.yaml View File

@ -0,0 +1,18 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: wordpress-ingress
namespace: wordpress
annotations:
ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: wordpress
port:
number: 80

+ 4
- 0
EjemploIngress/wp/wp-namespace.yaml View File

@ -0,0 +1,4 @@
apiVersion: v1
kind: Namespace
metadata:
name: wordpress-ingress

+ 4
- 4
HelmCharts/helmMiweb.sh View File

@ -3,12 +3,12 @@
if [ "$1" = "i" ]
then
kubectl apply -f ./preparaMiweb/pv-local-miweb.yaml
kubectl apply -f ./preparaMiweb/pv-local-miweb-certbot.yaml
kubectl apply -f ./preparaMiweb/pv-local-miweb-conf.yaml
#kubectl apply -f ./preparaMiweb/pv-local-miweb-certbot.yaml
#kubectl apply -f ./preparaMiweb/pv-local-miweb-conf.yaml
helm install miweb miweb-chart/
else
helm uninstall miweb
kubectl delete -f ./preparaMiweb/pv-local-miweb.yaml
kubectl delete -f ./preparaMiweb/pv-local-miweb-certbot.yaml
kubectl delete -f ./preparaMiweb/pv-local-miweb-conf.yaml
#kubectl delete -f ./preparaMiweb/pv-local-miweb-certbot.yaml
#kubectl delete -f ./preparaMiweb/pv-local-miweb-conf.yaml
fi

+ 0
- 19
HelmCharts/miweb-chart/templates/miweb-deployment.yaml View File

@ -26,20 +26,6 @@ spec:
requests:
storage: 2Gi
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: miweb-conf-pv-claim
labels:
app: miweb
spec:
accessModes:
- ReadWriteMany
storageClassName: ""
resources:
requests:
storage: 100M
---
apiVersion: apps/v1
kind: Deployment
metadata:
@ -70,14 +56,9 @@ spec:
volumeMounts:
- name: miweb-www-folder
mountPath: /usr/share/nginx/html
- name: miweb-conf-folder
mountPath: /etc/nginx/conf.d
imagePullSecrets:
- name: reg-cred-secret
volumes:
- name: miweb-www-folder
persistentVolumeClaim:
claimName: miweb-pv-claim
- name: miweb-conf-folder
persistentVolumeClaim:
claimName: miweb-conf-pv-claim

HelmCharts/miweb-chart/templates/certbot-deployment.yaml → HelmCharts/preparaMiweb/certbot-deployment.yaml View File


+ 22
- 0
HelmCharts/preparaMiweb/miweb-ingress.yaml View File

@ -0,0 +1,22 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: miweb-ingress
namespace: default
spec:
ingressClassName: nginx
tls:
- hosts:
- reymota.ddns.net
secretName: ingress-cert
rules:
- host: "reymota.ddns.net"
http:
paths:
- pathType: Prefix
path: "/"
backend:
service:
name: miweb
port:
number: 80

+ 1
- 1
HelmCharts/preparaMiweb/pv-local-miweb.yaml View File

@ -8,4 +8,4 @@ spec:
accessModes:
- ReadWriteMany
hostPath:
path: "/mnt/cluster/miweb/www"
path: "/mnt/cluster/nginx"

+ 22
- 0
HelmCharts/preparaVaultwarden/vaultwarden-ingress.yaml View File

@ -0,0 +1,22 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: vaultwarden-ingress
namespace: vaultwarden
spec:
ingressClassName: nginx
tls:
- hosts:
- reymota.ddns.net
secretName: ingress-cert
rules:
- host: "reymota.ddns.net"
http:
paths:
- pathType: Prefix
path: "/"
backend:
service:
name: vaultwarden
port:
number: 80

+ 4
- 0
Martin/Dockerfile View File

@ -0,0 +1,4 @@
FROM php:7.4-fpm
RUN mkdir /app
WORKDIR /app
COPY src .

+ 15
- 0
Martin/cert-issuer.yaml View File

@ -0,0 +1,15 @@
apiVersion: cert-manager.io/v1
kind: ClusterIssuer
metadata:
name: letsencrypt-prod-site
namespace: cert-manager
spec:
acme:
server: https://acme-v02.api.letsencrypt.org/directory
email: king.bernard.b@gmail.com
privateKeySecretRef:
name: letsencrypt-prod-site
solvers:
- http01:
ingress:
class: nginx

+ 3
- 0
Martin/comprobarVersionIngres.sh View File

@ -0,0 +1,3 @@
POD_NAMESPACE=ingress-nginx
POD_NAME=$(kubectl get pods -n $POD_NAMESPACE -l app.kubernetes.io/name=ingress-nginx --field-selector=status.phase=Running -o name)
kubectl exec $POD_NAME -n $POD_NAMESPACE -- /nginx-ingress-controller --version

+ 27
- 0
Martin/config.yaml View File

@ -0,0 +1,27 @@
kind: ConfigMap
apiVersion: v1
metadata:
name: nginx-config
data:
nginx.conf: |
events {
}
http {
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
index index.html index.htm index.php;
server_name _;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass 127.0.0.1:9000;
}
}
}

+ 72
- 0
Martin/deployment.yaml View File

@ -0,0 +1,72 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: deployment
labels:
name: deployment
spec:
replicas: 3
strategy:
type: RollingUpdate
rollingUpdate:
maxSurge: 1
maxUnavailable: 2
selector:
matchLabels:
name: templated-pod
template:
metadata:
name: deployment-template
labels:
name: templated-pod
spec:
volumes:
- name: app-files
emptyDir: {}
- name: nginx-config-volume
configMap:
name: nginx-config
containers:
- image: docker-registry:32000/creylopez/kphp:v1
name: app
volumeMounts:
- name: app-files
mountPath: /var/www/html
lifecycle:
postStart:
exec:
command: ["/bin/sh", "-c", "cp -r /app/. /var/www/html"]
resources:
limits:
cpu: 100m
requests:
cpu: 50m
- image: nginx:latest
name: nginx
volumeMounts:
- name: app-files
mountPath: /var/www/html
- name: nginx-config-volume
mountPath: /etc/nginx/nginx.conf
subPath: nginx.conf
resources:
limits:
cpu: 100m
requests:
cpu: 50m
ports:
- containerPort: 80
readinessProbe:
httpGet:
path: /
port: 80
initialDelaySeconds: 3
periodSeconds: 3
successThreshold: 1
imagePullSecrets:
- name: reg-cred-secret

+ 25
- 0
Martin/ingress.yaml View File

@ -0,0 +1,25 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: ingress
annotations:
kubernetes.io/ingress.class: "nginx"
cert-manager.io/cluster-issuer: "letsencrypt-prod-site"
spec:
tls:
- hosts:
- reymota.ddns.net
secretName: site-tls
rules:
- host: reymota.ddns.net
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: service-loadbalancer
port:
number: 80

+ 1
- 0
Martin/instalaCertManager.sh View File

@ -0,0 +1 @@
kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.11.0/cert-manager.yaml

+ 1
- 0
Martin/instalaIngressController.sh View File

@ -0,0 +1 @@
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.5.1/deploy/static/provider/baremetal/deploy.yaml

+ 22
- 0
Martin/service-loadbalancer.yaml View File

@ -0,0 +1,22 @@
apiVersion: v1
kind: Service
metadata:
name: service-loadbalancer
spec:
selector:
name: templated-pod
type: ClusterIP
ports:
- name: http
nodePort: null
port: 80
targetPort: 80
protocol: TCP
# type: LoadBalancer
# ports:
# - port: 80
# targetPort: 80
# externalIPs:
# - 192.168.1.147

+ 14
- 0
Martin/service-loadbalancer.yaml.antesTLS View File

@ -0,0 +1,14 @@
apiVersion: v1
kind: Service
metadata:
name: service-loadbalancer
spec:
selector:
name: templated-pod
ports:
- port: 80
targetPort: 80
type: LoadBalancer
externalIPs:
- 192.168.1.147

+ 2
- 0
Martin/src/index.php View File

@ -0,0 +1,2 @@
<?php
phpinfo();

+ 1
- 1
Nginx/entra.sh View File

@ -1 +1 @@
kubectl exec -ti deployment.apps/nginx-example -- /bin/bash
kubectl exec -ti deployment.apps/miweb -- /bin/bash

+ 1
- 1
Nginx/ingress.yaml View File

@ -14,6 +14,6 @@ spec:
pathType: Prefix
backend:
service:
name: nginx-example
name: miweb
port:
number: 80

+ 2
- 2
Nginx/miweb-deployment.yaml View File

@ -1,7 +1,7 @@
apiVersion: v1
kind: Service
metadata:
name: nginx-example
name: miweb
spec:
type: NodePort
ports:
@ -29,7 +29,7 @@ spec:
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-example
name: miweb
labels:
app: nginx
spec:


+ 1
- 1
Nginx/pod.yaml View File

@ -1,7 +1,7 @@
apiVersion: v1
kind: Pod
metadata:
name: nginx-example
name: miweb
labels:
app: nginx
spec:


+ 1
- 1
Nginx/service-nodeport.yaml View File

@ -1,7 +1,7 @@
apiVersion: v1
kind: Service
metadata:
name: nginx-example
name: miweb
spec:
type: NodePort
ports:


+ 21
- 0
PeterDeTender/certs/ingress-tls.crt View File

@ -0,0 +1,21 @@
-----BEGIN CERTIFICATE-----
MIIDZTCCAk2gAwIBAgIUeyhdjrJrbEReY7++sCIAKsXk4AMwDQYJKoZIhvcNAQEL
BQAwQTELMAkGA1UEBhMCRVMxDzANBgNVBAgMBk1hZHJpZDEPMA0GA1UEBwwGTWFk
cmlkMRAwDgYDVQQKDAdyZXltb3RhMCAXDTIzMDIxMDExNTE0MFoYDzIwNTAwNjI3
MTE1MTQwWjBBMQswCQYDVQQGEwJFUzEPMA0GA1UECAwGTWFkcmlkMQ8wDQYDVQQH
DAZNYWRyaWQxEDAOBgNVBAoMB3JleW1vdGEwggEiMA0GCSqGSIb3DQEBAQUAA4IB
DwAwggEKAoIBAQC579/wUkYvBm2/PtzMWWxWomDKM+Pep4UNKnAidM2Ymv725jIp
4i/QY8jDbQ8rGHs8hPMhRPNOjQ6BWioQNgSVS9XozXIE9KY/hVtZpw1I6BxLrdUe
bop3E/IztRNiVxxuMqTCjrG8H8AZJS8rSlif8dxMQFSRTQo+6mslZTH9S6By/8az
9ILKb74cvyZPSdaEVLhV9NMqLeX+K1uD7qMd4EBmRSfFiKX1vzU034Qs8cz8Ojq/
j6ikxEISKLE3M4t61GTFYnXI1LBrm8Wr6xyc0Xw5SMnMoW9Bi7CDB3HNOo1Mma1y
oLXvwdxb81ljuPDgB4sC5oj1vm0cs+vLuf5NAgMBAAGjUzBRMB0GA1UdDgQWBBQc
UNq9PGRmWfRDbvYGffFjoYZFizAfBgNVHSMEGDAWgBQcUNq9PGRmWfRDbvYGffFj
oYZFizAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQC17xD3thy8
dVeQiTe3fLWHFL+IA59zPG+xDU0F2AjCl5BL3m76YfyIELO0QVmTjzOeCLeXDekA
0wYiLBCE3OTRZDy+/jFRcSmnEvWtkeDOJfdSe1AIGel8g60RxcpfMcdKzDkV4zLE
7riQSZfPNTpBgoBhwwts32mqTSumR8ufy/G0JX2EbMjHnYaGSs9VfaIf2wN2Ss9x
F/LD/bz1szLJksnB2jP8bgbIVjrwPVyh+lXP134lm0Z+q7m/QFJhWL0fMtxZudPv
2ja8gjHOAwlI+xQmDrnhtHfy6ofyynoYHNkviO3S6X/gD14Ug5Ra8YXzThfpkKHq
/NK+A73Mit8X
-----END CERTIFICATE-----

+ 28
- 0
PeterDeTender/certs/ingress-tls.key View File

@ -0,0 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC579/wUkYvBm2/
PtzMWWxWomDKM+Pep4UNKnAidM2Ymv725jIp4i/QY8jDbQ8rGHs8hPMhRPNOjQ6B
WioQNgSVS9XozXIE9KY/hVtZpw1I6BxLrdUebop3E/IztRNiVxxuMqTCjrG8H8AZ
JS8rSlif8dxMQFSRTQo+6mslZTH9S6By/8az9ILKb74cvyZPSdaEVLhV9NMqLeX+
K1uD7qMd4EBmRSfFiKX1vzU034Qs8cz8Ojq/j6ikxEISKLE3M4t61GTFYnXI1LBr
m8Wr6xyc0Xw5SMnMoW9Bi7CDB3HNOo1Mma1yoLXvwdxb81ljuPDgB4sC5oj1vm0c
s+vLuf5NAgMBAAECggEAYqzmj0dab8Jdo8zcqKYcVK2/6A85swP8HEyVTfPm2EIJ
ZUYtAQVEkrch6HSMRDat0CROUy2gYeOB+yu6fvfr3r9sOiwtgmvDfpprLFz3M+Xa
fl82ZvwLB77SHpbOPrY0JFdEEOxhbpD7BV0ydyrxdZCJdP3+402bTmBhlGrr6Ju9
OXe8AANv2Qj9s3l1Wp/QRr2oWsBdeVdWPtAqj2FebqB1RmxXkFO88saK6asYjseF
iHvhkYw1Tn7vjl7eslO2ZYrCbNqaRl/lpyhQyL8BgDQDan9FQ4HdXZwJf+ZT0Bqx
Y2uipjSe+5JzmmzvinLlET8H4iGF0TAPGZXuN3wUAQKBgQDxjQ4K0tLYfTR7kW//
NUYbPxZrErN4Sc/TQFWCS3T2vYZpoSeQuLHysmBBZfrBS4Mfd052OETPE5l0FfCv
/eucwgjRGe1DCLaGtcbpYcR3llGTMfLRmEN9f4U2AsemzqBR1GfiqdHz9As512wO
n9343OjxFeblyetamCZB+Y/zDQKBgQDFDy+NPqxtaWbI6jyvtn3HDtlwgITsVnvQ
GRakBZmEN5xwHP0ZxMTv7NCHKjVjF16wOlVcnc12xL+IFG6Np36wj2QWdHPDEagh
AJmnFGukADAYYff2W9NxGW3MO6ZuO9LlxvHjJiUS1IPpd4ped2fLYHNbaVKbHQ9l
tZi0pTBoQQKBgEkKNwnM0BbIXVtUEgKgsE9C11uPLxebci1V0cVxXa/ShVdhdJ5N
SvmxOGvuE1HprH+SSvZyc1QOgCNbEwmUhW9EOPhJl7XiZ5b6VmhxuL/Ug1w4CU2Z
dib3rWc0lfx5lH7J9JPUd/kFfXODEVimvK8o1YM49TXcxb8CLOdcOEvtAoGBAMFa
2iy8T1H39vuzIqLC7H1SK7bA1CxV25zf0SBVwkFCk8RKHWqYcSh99Ep79vBo8Ob4
BeQfjog4Gzr52VQzAhNaTzndP+0quQ7Q2PNhDRFZgdea4UQg68Jw0hRwfyhwmMoP
QC7CsePdFCYTvnhcr0KWO/p4yK4cgIwq+FBgObRBAoGAaU55AetKon5vVeiE9qRS
u9aM7zdiBjJwlLDyybjLgyRKJ6muTz0NfK7y1LAjN81CDaWGi2xdbsdOXF7xMfsl
vHKQ+L/tnphwQUsezQEWbEwLXp0IH8yUAkCjCgtRl7aavHsXvyOz9426vJvdaBkt
YvtVeQaqukbh5F4BETam+1k=
-----END PRIVATE KEY-----

+ 1
- 0
PeterDeTender/instalaIngressController.sh View File

@ -0,0 +1 @@
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.5.1/deploy/static/provider/baremetal/deploy.yaml

+ 36
- 0
PeterDeTender/sample-app.yaml View File

@ -0,0 +1,36 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: sample-app
namespace: default
spec:
selector:
matchLabels:
app: sample
replicas: 2
template:
metadata:
labels:
app: sample
spec:
containers:
- name: sample
image: "gcr.io/google-samples/hello-app:2.0"
---
apiVersion: v1
kind: Service
metadata:
name: sample-app-service
namespace: default
labels:
app: sample
spec:
type: ClusterIP
selector:
app: sample
ports:
- port: 80
targetPort: 8080
protocol: TCP

+ 22
- 0
PeterDeTender/sample-ingress.yaml View File

@ -0,0 +1,22 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: sample-app-ingress
namespace: default
spec:
ingressClassName: nginx
tls:
- hosts:
- reymota.ddns.net
secretName: ingress-cert
rules:
- host: "reymota.ddns.net"
http:
paths:
- pathType: Prefix
path: "/"
backend:
service:
name: sample-app-service
port:
number: 80

Loading…
Cancel
Save