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 |