Не удается подключить контейнер Tomcat к контейнеру базы данных mysql в kubernetes? - PullRequest
1 голос
/ 09 мая 2019

Пожалуйста, не помечайте это как дубликат. В этот раз я внес некоторые изменения. Поверьте, я пробовал другие ответы, и они, похоже, не решают мою проблему. Я не могу связать контейнер tomcat с моей базой данных MySQL контейнер в кубернетес.

Построил мой образ кота с помощью этого файла dockerfile

FROM picoded/tomcat7
COPY data-core-0.0.1-SNAPSHOT.war /usr/local/tomcat/webapps/data-core-0.0.1-SNAPSHOT.war

MySQL-service.yaml

apiVersion: v1
kind: Service
metadata:
  name: mysql
spec:
  ports:
  - port: 3306
  selector:
    app: mysql

MySQL-deployment.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: mysql
spec:
  selector:
    matchLabels:
      app: mysql
  strategy:
    type: Recreate
  template:
    metadata:
      labels:
        app: mysql
    spec:
      containers:
      - image: mysql:5.6
        name: mysql
        imagePullPolicy: "IfNotPresent"
        env:
        - name: MYSQL_ROOT_PASSWORD
          value: root
        - name: MYSQL_DATABASE
          value: data-core  
        ports:
        - containerPort: 3306
          name: mysql
        volumeMounts:
        - name: mysql-persistent-storage
          mountPath: /docker-entrypoint-initdb.d   //my sql init script will 
                                                     get copied from hostpath 
                                                     of persistant volume. 
      volumes:
      - name: mysql-persistent-storage
        persistentVolumeClaim:
          claimName: mysql-initdb-pv-claim

Tomcat-service.yaml

apiVersion: v1
kind: Service
metadata:
  name: tomcat
  labels:
    app: tomcat
spec:
  type: NodePort     
  ports:
  - name: myport
    port: 8080
    targetPort: 8080
    nodePort: 30000
  selector:
    app: tomcat
    tier: frontend 

Tomcat-Deployment.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: tomcat
  labels:
    app: tomcat
spec:
  selector:
    matchLabels:
      app: tomcat
      tier: frontend
  strategy:
    type: Recreate
  template:
    metadata:
      labels:
        app: tomcat
        tier: frontend
    spec:
      containers:
      - image: suji165475/vignesh:tomcatserver  //this is the tomcat image 
                                                  built using dockerfile with 
                                                  war file(spring boot app) 
                                                  copied to webapps folder
        name: tomcat
        env:
        - name: DB_PORT_3306_TCP_ADDR
          value: mysql                  #service name of mysql
        - name: DB_ENV_MYSQL_DATABASE
          value: data-core
        - name: DB_ENV_MYSQL_ROOT_PASSWORD
          value: root
        ports:
        - containerPort: 8080
          name: myport
        volumeMounts:
        - name: tomcat-persistent-storage
          mountPath: /var/data
      volumes:
      - name: tomcat-persistent-storage
        persistentVolumeClaim:
          claimName: tomcat-pv-claim

Я указал все переменные среды, включая имя службы MySQL, в развертывании Tomcat, необходимое для их подключения. Также убедитесь, что созданы постоянные тома и утверждения для обоих контейнеров. Однако мой файл war все еще не запускается в приложении менеджера tomcat.

Правильны ли мои файлы yaml или есть какие-то изменения, которые нужно внести ??

ПРИМЕЧАНИЕ: я работаю на сервере, используя терминал замазки.

URL-адрес, используемый для доступа к моему приложению в браузере-

206.189.22.155: 30000 / данных ядро-0.0.1-SNAPSHOT

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...