1.1. fejezet, MongoDB
Beküldte pzoli - 2025, április 5 - 12:03du
Deployment
kubectl create deployment mongo-depl --image=mongo kubectl expose deployment mongo-depl --type=NodePort --port=27017 kubectl edit deployment mongo-depl
spec: ... template: ... spec: containers: - image: mongo imagePullPolicy: Always name: mongo ... env: - name: MONGO_INITDB_ROOT_USERNAME value: admin - name: MONGO_INITDB_ROOT_PASSWORD value: example ...
mongo-secret.yaml
apiVersion: v1 kind: Secret metadata: name: mongodb-secret type: Opaque data: mongo-root-username: YWRtaW4= #(base64: admin) mongo-root-password: ZXhhbXBsZQ== #(base64: example)
Base64 generálás:
echo -n 'admin'|base64 echo -n 'example'|base64
Base64 visszafejtés:
echo -n "YWRtaW4="|base64 -d
Secret használatával a deployment környezeti változó definíciója
env: - name: MONGO_INITDB_ROOT_USERNAME valueFrom: secretKeyRef: name: mongodb-secret key: mongo-root-username - name: MONGO_INITDB_ROOT_PASSWORD valueFrom: secretKeyRef: name: mongodb-secret key: mongo-root-password
Egy yaml fájlban több definíció is szerepelhet. Ekkor a dokumentum elválasztó jel a --- (három kötőjel).
Service type külső eléréshez
spec: clusterIP: 10.104.198.168 clusterIPs: - 10.104.198.168 internalTrafficPolicy: Cluster ipFamilies: - IPv4 ipFamilyPolicy: SingleStack ports: - nodePort: 27018 port: 27017 protocol: TCP targetPort: 27017 selector: app: mongodb sessionAffinity: None type: LoadBalancer
Fontos itt a nodePort: 27018 és a type: LoadBalancer bejegyzés
- A hozzászóláshoz be kell jelentkezni