deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: template-nginx
release: template-nginx
name: template-deployment
namespace: template
spec:
replicas: 1
selector:
matchLabels:
app: template-nginx
strategy:
rollingUpdate:
maxSurge: 25%
maxUnavailable: 25%
type: RollingUpdate
template:
metadata:
name: template-nginx
namespace: template
labels:
app: template-nginx
release: template-nginx
releaseRevision: "v1"
spec:
containers:
- name: template-nginx
image: nginx:1.20-alpine
imagePullPolicy: IfNotPresent
ports:
- name: template
containerPort: 80
volumeMounts:
- name: template
mountPath: /etc/nginx/conf.d/
volumes:
- name: template
configMap:
name: template
service.yaml
apiVersion: v1
kind: Service
metadata:
labels:
app: template-nginx
release: template-nginx
name: template-nginx
namespace: template
spec:
ports:
- port: 80
protocol: TCP
targetPort: 80
selector:
app: template-nginx
type: ClusterIP
ingress.yaml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: template-nginx
namespace: template
labels:
ingress: template-nginx
release: template-nginx
spec:
rules:
- host: temp.host.com
http:
paths:
- path: /admin/
backend:
service:
name: template-nginx
port:
number: 80
pathType: Prefix
- path: /
backend:
service:
name: template-nginx
port:
number: 80
pathType: ImplementationSpecific
namespace.yaml
apiVersion: v1
kind: Namespace
metadata:
labels:
kubernetes.io/metadata.name: template
name: template
spec:
finalizers:
- kubernetes
configmap.yaml
apiVersion: v1
data:
default.conf: |+
server {
listen 80;
listen [::]:80;
server_name temp.host.com;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
kind: ConfigMap
metadata:
name: template
namespace: template