add kustomize

This commit is contained in:
2023-03-15 11:24:41 +07:00
parent 5ffd029bee
commit f42422262a
18 changed files with 293 additions and 0 deletions

View File

@@ -0,0 +1,65 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: guestbook
labels:
app: &app frontend
spec:
replicas: 1
selector:
matchLabels:
app: *app
template:
metadata:
labels:
app: *app
spec:
containers:
- name: guestbook-app
image: nginx
resources:
requests:
cpu: 100m
memory: 100Mi
env:
- name: DB_PASSWORD
valueFrom:
secretKeyRef:
name: secret
key: DB_PASSWORD
- name: FRUIT
valueFrom:
secretKeyRef:
name: secret
key: FRUIT
- name: ROUTER_PASSWORD
valueFrom:
secretKeyRef:
name: secret
key: ROUTER_PASSWORD
- name: VEGETABLE
valueFrom:
secretKeyRef:
name: secret
key: VEGETABLE
ports:
- containerPort: 80
volumeMounts:
- name: config
mountPath: /mnt/config/config.ini
subPath: config.ini
readOnly: true
- name: secret
mountPath: /mnt/secret
readOnly: true
volumes:
- name: config
configMap:
name: config
defaultMode: 420
- name: secret
secret:
secretName: secret
items:
- key: longsecret.txt
path: longsecret.txt

View File

@@ -0,0 +1,8 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- service.yaml
- deployment.yaml
configMapGenerator:
- name: config

View File

@@ -0,0 +1,12 @@
apiVersion: v1
kind: Service
metadata:
name: guestbook
labels:
app: &app frontend
spec:
type: ClusterIP
ports:
- port: 80
selector:
app: *app

View File

@@ -0,0 +1,12 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: config
labels:
app: guestbook
data:
config.ini: |
{
"a": "b",
"c": "d"
}

View File

@@ -0,0 +1,2 @@
ROUTER_PASSWORD=admin
DB_PASSWORD=iloveyou

View File

@@ -0,0 +1,22 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ../../base
- namespace.yaml
namespace: dev
labels:
- includeSelectors: true
pairs:
env: dev
patches:
- path: configmap.yaml
secretGenerator:
- name: secret
envs:
- foo.env
files:
- longsecret.txt
literals:
- FRUIT=apple
- VEGETABLE=carrot

View File

@@ -0,0 +1,4 @@
Lorem ipsum dolor sit amet,
consectetur adipiscing elit,
sed do eiusmod tempor incididunt
ut labore et dolore magna aliqua.

View File

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

View File

@@ -0,0 +1,12 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: config
labels:
app: guestbook
data:
config.ini: |
{
"a": "123",
"c": "456"
}

View File

@@ -0,0 +1,19 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: guestbook
spec:
replicas: 4
strategy:
rollingUpdate:
maxSurge: 1
maxUnavailable: 1
type: RollingUpdate
template:
spec:
containers:
- name: guestbook-app
resources:
requests:
cpu: 200m
memory: 200Mi

View File

@@ -0,0 +1,2 @@
ROUTER_PASSWORD=123kjlnm,m12
DB_PASSWORD=.k1j2h3lkjhlk1

View File

@@ -0,0 +1,27 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ../../base
- namespace.yaml
namespace: prod
labels:
- includeSelectors: true
pairs:
env: prod
patches:
- path: deployment.yaml
- path: configmap.yaml
images:
- name: nginx
newName: httpd
newTag: "alpine3.17"
secretGenerator:
- name: secret
envs:
- foo.env
files:
- longsecret.txt
literals:
- FRUIT=pinapple
- VEGETABLE=potato

View File

@@ -0,0 +1,4 @@
Lorem ipsum dolor sit amet,
consectetur adipiscing elit,
sed do eiusmod tempor incididunt
ut labore et dolore magna aliqua.

View File

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

View File

@@ -0,0 +1,13 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: config
namespace: dev
labels:
app: guestbook
data:
config.ini: |
{
"a": "123",
"c": "456"
}

View File

@@ -0,0 +1,66 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: guestbook
namespace: dev
labels:
app: &app frontend
spec:
replicas: 1
selector:
matchLabels:
app: *app
template:
metadata:
labels:
app: *app
spec:
containers:
- name: guestbook-app
image: nginx
resources:
requests:
cpu: 100m
memory: 100Mi
env:
- name: DB_PASSWORD
valueFrom:
secretKeyRef:
name: secret
key: DB_PASSWORD
- name: FRUIT
valueFrom:
secretKeyRef:
name: secret
key: FRUIT
- name: ROUTER_PASSWORD
valueFrom:
secretKeyRef:
name: secret
key: ROUTER_PASSWORD
- name: VEGETABLE
valueFrom:
secretKeyRef:
name: secret
key: VEGETABLE
ports:
- containerPort: 80
volumeMounts:
- name: config
mountPath: /mnt/config/config.ini
subPath: config.ini
readOnly: true
- name: secret
mountPath: /mnt/secret
readOnly: true
volumes:
- name: config
configMap:
name: config
defaultMode: 420
- name: secret
secret:
secretName: secret
items:
- key: longsecret.txt
path: longsecret.txt

View File

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

View File

@@ -0,0 +1,13 @@
apiVersion: v1
kind: Service
metadata:
name: guestbook
namespace: dev
labels:
app: &app frontend
spec:
type: ClusterIP
ports:
- port: 80
selector:
app: *app