Sample Yaml Files

1. mysql.yaml

---------------------------------------------------------------------------------------------------------

apiVersion: apps/v1

kind: Deployment

metadata:

  name: mysql

  labels:

    app: mysql

spec:

  replicas: 1

  selector:

    matchLabels:

      app: mysql

  template:

    metadata:

      labels:

        app: mysql

    spec:

      containers:

        - name: mysql

          image: mysql:8


          ports:

            - containerPort: 3310

          env:

            - name: MYSQL_DATABASE

              valueFrom:

                secretKeyRef:

                  name: secret

                  key: MYSQL_DATABASE


            - name: MYSQL_ROOT_PASSWORD

              valueFrom:

                secretKeyRef:

                  name: secret

                  key: MYSQL_ROOT_PASSWORD

---

apiVersion: v1

kind: Secret

metadata:

  name: secret

stringData:

  MYSQL_ROOT_PASSWORD: P@ssw0rd

  MYSQL_USER: root

  MYSQL_DATABASE: 'assignment'

  MYSQL_PASSWORD: P@ssw0rd

  

2. secret.yaml

---------------------------------------------------------------------------------------------------------

apiVersion: v1

kind: Secret

metadata:

  name: mysql-sec

type: Opaque

data:

  ROOT_PASSWORD: UEBzc3cwcmQ=

  USERNAME: cm9vdA==

  DATABASE: YXNzaWdubWVudA==

  PASSWORD: UEBzc3cwcmQ=

  

  

3.dbservice.yaml

---------------------------------------------------------------------------------------------------------

apiVersion: v1

kind: Service

apiVersion: v1

metadata:

  name: mysql

spec:

  selector:

    app: mysql

  type: ClusterIP

  ports:

    - protocol: TCP

      port: 3306

      targetPort: 3306

  

  

4.webapp.yaml

---------------------------------------------------------------------------------------------------------


apiVersion: apps/v1

kind: Deployment

metadata:

  name: web-deployment

spec:

  selector:

    matchLabels:

      app: web-deployment

  replicas: 1

  template:

    metadata:

      labels:

        app: web-deployment

    spec:

#      initContainers:

#        - name: check-db

#          image: busybox:1.28

#          command: ['sh', '-c', 'until nslookup db; do echo waiting for db; sleep 2; done;']

      containers:

        - name: web-deployment

          image: replace/maven:200821-937849f

          envFrom:

            - configMapRef:

                name: myapp-env

          ports:

            - containerPort: 8090

---

apiVersion: v1

kind: ConfigMap

metadata:

  name: myapp-env

data:

  SPRING_DATASOURCE_USERNAME: root

  SPRING_DATASOURCE_PASSWORD: P@ssw0rd

  SPRING_DATASOURCE_URL: jdbc:mysql://mysql:3306/askubsignment?allowPublicKeyRetrieval=true

  

  

6. webappservice

---------------------------------------------------------------------------------------------------------


apiVersion: v1

kind: Service

metadata:

  name: web-deployment

spec:

  selector:

    app: web-deployment

  type: NodePort

  ports:

    - protocol: TCP

      port: 8090

      targetPort: 8090

      nodePort: 30020


7.ingress.yaml

---------------------------------------------------------------------------------------------------------

apiVersion: extensions/v1beta1

kind: Ingress

metadata:

  name: ingress-webapp

spec:

  tls:

    - secretName: replace-webdeployment-tls

      hosts:

        - replace.web-deployment

  rules:

    - host: replace.web-deployment

      http:

        paths:

          - path: /

            backend:

              serviceName: web-deployment

              servicePort: 8090

---------------------------------------------------------------------------------------------------------

No comments:

Post a Comment