Не удается подключить контейнер tomcat к контейнеру базы данных mariadb в кубернетах? - PullRequest
0 голосов
/ 05 мая 2020

Службы Tomcat и mariadb запущены и работают, и пинг выполнялся от службы tomcat к службе mariadb, но не обменивался данными от db к tomcat с помощью команды ping. прикрепил мои сценарии для устранения неполадок ----------------------------- развертывание tomcat

apiVersion: apps/v1
kind: Deployment
metadata:
  name: xyzapp-tomcat
spec:
  selector:
    matchLabels:
      app: xyzapp-tomcat
      tier: backend
      track: stable
  template:
    metadata:
      labels:
        app: xyzapp-tomcat
        tier: backend
        track: stable
    spec:
      containers:
        - name: xyzapp-tomcat
          image: xyz/xyz:tomcat
          env:
          - name: MYSQL_SERVICE_HOST
            value: "xyzapp-mariadb"
          - name: MYSQL_SERVICE_PORT
            value: "3306"
            #- name: DB_PORT_3306_TCP_ADDR
            #value: xyzapp-mariadb                  #service name of mysql
          - name: MYSQL_DATABASE
            value: xyzapp
          - name: MYSQL_USER
            value: student
          - name: MYSQL_PASSWORD
            value: student
          ports:
            - name: http
              containerPort: 8080

база данных Deployment.yml

apiVersion: v1
kind: Service
metadata:
  name: xyzapp-mariadb
  labels:
    app: xyzapp
spec:
  ports:
    - port: 3306
  selector:
    app: xyzapp
    tier:  mariadb
  clusterIP: None
---
apiVersion: apps/v1 # for versions before 1.9.0 use apps/v1beta2
kind: Deployment
metadata:
  name: xyzapp-mariadb
  labels:
    app: xyzapp
spec:
  selector:
    matchLabels:
      app: xyzapp
      tier:  mariadb
  strategy:
    type: Recreate
  template:
    metadata:
      labels:
        app: xyzapp
        tier:  mariadb
    spec:
      containers:
      - image:  mariadb
        name:  xyzapp-mariadb
        env:
        - name: MYSQL_ROOT_PASSWORD
          value: password
        - name: MYSQL_DATABASE
          value: xyzapp
        - name: MYSQL_USER
          value: student
        - name: MYSQL_PASSWORD
          value: student
        args: ["--default-authentication-plugin=mysql_native_password"]
        ports:
        - containerPort: 3306
        volumeMounts:
        - name: mariadb-init
          mountPath: /docker-entrypoint-initdb.d
      volumes:
        - name: mariadb-init
          persistentVolumeClaim:
            claimName: xyzapp-initdb-pv-claim

журналы tomcat:

05-May-2020 11:48:53.486 WARNING [main] org.apache.tomcat.util.scan.StandardJarScanner.processURLs Failed to scan [file:/usr/local/tomcat/lib/mysql-connector-java-8.0.20.jar] from classloader hierarchy

JDB C сопоставленный контекст. xml:

<Resource name="jdbc/TestDB" auth="Container" type="javax.sql.DataSource" maxTotal="100" maxIdle="30" maxWaitMillis="10000" username="$MYSQL_USER" password="$MYSQL_PASSWORD" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://$MYSQL_SERVICE_HOST:$MYSQL_SERVICE_PORT/$MYSQL_DATABASE"/>
...