无法将Tomcat容器连接到Kubernetes中的mariadb数据库容器?

时间:2020-05-05 12:23:05

标签: mysql tomcat kubernetes

Tomcat和mariadb服务已启动并正在运行,并且从tomcat服务到mariadb服务执行了ping操作,但没有使用ping命令从db到tomcat通信。附上我的脚本以解决问题----------------------------- 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

数据库部署。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

JDBC映射的context.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"/>

0 个答案:

没有答案
相关问题