
我们将创建一个基于node开发的web-server,mongo-express.用于与mongodb交互
我们将创建mongodb deployment,mongodb service. mongodb secret,mongo express deployment,
mongodb express service,mongo db configmap
mongo db secret
保存mongo db 密码
注意需要是将用户名和密码进行base64加密
type有多种类型,需要具体区分
apiVersion: v1kind: Secretmetadata:name: mongodb-secrettype: Opaquedata:mongo-root-username: dXNlcm5hbWU=mongo-root-password: cGFzc3dvcmQ=
mongo deployment and service
apiVersion: apps/v1
kind: Deployment
metadata:
name: mongodb-deployment
labels:
app: mongodb
spec:
replicas: 1
selector:
matchLabels:
app: mongodb
template:
metadata:
labels:
app: mongodb
spec:
containers:
- name: mongodb
image: mongo
ports:
- containerPort: 27017
env:
- name: MONGO_INITDB_ROOT_USERNAME
valueFrom:
secretKeyRef:
name: mongodb-secret
key: mongo-root-username
- name: MONGO_INITDB_ROOT_PASSWORD
valueFrom:
secretKeyRef:
key: mongo-root-password
name: mongodb-secret
---
apiVersion: v1
kind: Service
metadata:
name: mongodb-service
spec:
selector:
app: mongodb
ports:
- port: 27017
protocol: TCP
targetPort: 27017
configmap
配置连接url
apiVersion: v1
kind: ConfigMap
metadata:
name: mongo-configmap
data:
database_url: mongodb-service
mongo-express
我们需要知道暴露端口
apiVersion: apps/v1
kind: Deployment
metadata:
name: mongo-express-deployment
labels:
app: mongo-express
spec:
replicas: 1
selector:
matchLabels:
app: mongo-express
template:
metadata:
labels:
app: mongo-express
spec:
containers:
- name: mongo-express
image: mongo-express
ports:
- containerPort: 8081
env:
- name: ME_CONFIG_MONGODB_ADMINUSERNAME
valueFrom:
secretKeyRef:
key: mongo-root-username
name: mongodb-secret
- name: ME_CONFIG_MONGODB_ADMINPASSWORD
valueFrom:
secretKeyRef:
key: mongo-root-password
name: mongodb-secret
- name: ME_CONFIG_MONGODB_SERVER
valueFrom:
configMapKeyRef:
key: database_url
name: mongo-configmap
---
apiVersion: v1
kind: Service
metadata:
name: mongo-express-service
spec:
selector:
app: mongo-express
type: LoadBalancer
ports:
- port: 8081
targetPort: 8081
protocol: TCP
nodePort: 30000
minikube将端口暴露出去
minikube service mongo-express-service
