mirror of
https://github.com/ION606/learn.git
synced 2026-05-14 21:06:56 +00:00
54 lines
1.5 KiB
YAML
54 lines
1.5 KiB
YAML
|
|
# deployement and service for mongodb
|
||
|
|
# https://kubernetes.io/docs/concepts/workloads/controllers/deployment/
|
||
|
|
apiVersion: apps/v1
|
||
|
|
kind: Deployment
|
||
|
|
metadata:
|
||
|
|
name: webapp-deployment
|
||
|
|
labels:
|
||
|
|
app: webapp
|
||
|
|
spec: # deployement-specific
|
||
|
|
replicas: 1
|
||
|
|
selector:
|
||
|
|
matchLabels:
|
||
|
|
app: webapp
|
||
|
|
template: # deployement for the pods
|
||
|
|
metadata:
|
||
|
|
labels:
|
||
|
|
app: webapp
|
||
|
|
spec:
|
||
|
|
containers: # https://hub.docker.com/_/mongo
|
||
|
|
- name: webapp
|
||
|
|
image: nanajanashia/k8s-demo-app:v1.0 # demo web app
|
||
|
|
ports:
|
||
|
|
- containerPort: 3000
|
||
|
|
env: #add demo information
|
||
|
|
- name: USER_NAME
|
||
|
|
valueFrom:
|
||
|
|
secretKeyRef: # get from secrets
|
||
|
|
name: mongo-secret
|
||
|
|
key: mongo-user
|
||
|
|
- name: USER_PWD
|
||
|
|
valueFrom:
|
||
|
|
secretKeyRef: # get from secrets
|
||
|
|
name: mongo-secret
|
||
|
|
key: mongo-password
|
||
|
|
- name: DB_URL
|
||
|
|
valueFrom:
|
||
|
|
configMapKeyRef: # get from configMap
|
||
|
|
name: mongo-config
|
||
|
|
key: mongo-url
|
||
|
|
--- # "new file"
|
||
|
|
# https://kubernetes.io/docs/concepts/services-networking/service/
|
||
|
|
apiVersion: v1
|
||
|
|
kind: Service
|
||
|
|
metadata:
|
||
|
|
name: webapp-service
|
||
|
|
spec:
|
||
|
|
type: NodePort # external service port type
|
||
|
|
selector:
|
||
|
|
app: webapp
|
||
|
|
ports:
|
||
|
|
- protocol: TCP
|
||
|
|
port: 3000
|
||
|
|
targetPort: 3000
|
||
|
|
nodePort: 30100 # see https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport for ranges
|