Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Assuming Docker Desktop Kubernetes, the following command fetches
- # a joke from api.chucknorris.io via an nginx reverse proxy:
- # curl -k -v -H "Host: chucknorris.local" https://kubernetes.docker.internal/jokes/random
- ---
- apiVersion: cert-manager.io/v1
- kind: ClusterIssuer
- metadata:
- name: chucknorris
- spec:
- selfSigned: {}
- ---
- apiVersion: v1
- kind: ConfigMap
- metadata:
- name: server-conf
- data:
- server.conf: |
- server {
- listen 0.0.0.0:8080;
- server_name _;
- root /app;
- location / {
- proxy_pass https://api.chucknorris.io;
- proxy_set_header Host api.chucknorris.io;
- proxy_ssl_name api.chucknorris.io;
- proxy_ssl_server_name on;
- }
- }
- ---
- apiVersion: apps/v1
- kind: Deployment
- metadata:
- labels:
- app: nginx
- name: nginx
- spec:
- replicas: 1
- selector:
- matchLabels:
- app: nginx
- template:
- metadata:
- labels:
- app: nginx
- spec:
- volumes:
- - name: server-conf
- configMap:
- name: server-conf
- containers:
- - image: bitnami/nginx
- name: nginx
- ports:
- - containerPort: 8080
- volumeMounts:
- - name: server-conf
- mountPath: /opt/bitnami/nginx/conf/server_blocks
- ---
- apiVersion: networking.k8s.io/v1
- kind: Ingress
- metadata:
- annotations:
- cert-manager.io/cluster-issuer: "chucknorris"
- name: chucknorris
- spec:
- ingressClassName: nginx
- tls:
- - hosts:
- - chucknorris.local
- secretName: chucknorris-local
- rules:
- - host: chucknorris.local
- http:
- paths:
- - path: /
- pathType: Prefix
- backend:
- service:
- name: nginx
- port:
- number: 8080
Advertisement