작성
·
76
0
pod, service, deployment 정상적으로 실행되는데 페이지가 작동하지 않는다고 나옵니다 Hello,World 가 나와야하는데 무엇이 문제일까요
답변 1
0
안녕하세요 승환님! 잘 질문 주셨습니다:)
작성하신 모든 yaml 파일 전부 복사 붙여넣기 해서
보여주실 수 있으실까요~??
그리고 kubectl get service
라는 명령어 입력 후
출력되는 결과 값들도 같이 캡쳐해서 보내주시기 바랍니다!
같이 확인 도와드릴게요~!!
답변해주셔서 감사합니다!
작성해주신 yaml을 보니 스프링부트 deployment의 yaml에서 selector 부분이
잘못 작성되어 있습니다!
스프링부트 Service에서는 spec.selector.app
의 값이 backend-app
으로 설정되어 있으나
스프링부트 deployment에서는 backend-app
이 아닌 test-app
으로 설정되어 있습니다.
정상적으로 작동하려면 Service에서의 값과
deployment에서의 값을 일치시켜주어야 합니다!
위 내용을 반영해보신 뒤에 또 에러가 발생하시면
Spring Boot가 실행되는 Pod의 로그도 같이 캡쳐하신 뒤에
다시 한 번 질문 남겨주세요:D
스프링부트 service
apiVersion: v1 kind: Service metadata: name: test-service spec: type: NodePort selector: app: backend-app ports: - port: 8080 nodePort: 30000 targetPort: 8080 protocol: TCP
스프링부트 deployment
apiVersion: apps/v1 kind: Deployment metadata: name: test-deployment spec: replicas: 3 selector: matchLabels: app: test-app template: metadata: labels: app: test-app spec: containers: - name: test-container image: test-server imagePullPolicy: IfNotPresent ports: - containerPort: 8080 env: - name: DB_HOST value: mysql-service - name: DB_PORT value: "3306" - name: DB_NAME value: kub-practice - name: DB_USERNAME value: root - name: DB_PASSWORD value: password123
mysql deployment
apiVersion: apps/v1 kind: Deployment metadata: name: mysql-deployment spec: replicas: 1 selector: matchLabels: app: mysql-db template: metadata: labels: app: mysql-db spec: containers: - name: mysql-container image: mysql ports: - containerPort: 3306 env: - name: MYSQL_ROOT_PASSWORD valueFrom: secretKeyRef: key: mysql-root-password name: mysql-secret - name: MYSQL_DATABASE valueFrom: configMapKeyRef: key: mysql-database name: mysql-config volumeMounts: - name: mysql-persistent-storage mountPath: /var/lib/mysql volumes: - name: mysql-persistent-storage persistentVolumeClaim: claimName: mysql-pvc
mysql service
apiVersion: v1 kind: Service metadata: name: mysql-service spec: type: NodePort selector: app: mysql-db ports: - port: 3306 protocol: TCP nodePort: 30003 targetPort: 3306
mysql pv
apiVersion: v1 kind: PersistentVolume metadata: name: mysql-pv spec: storageClassName: my-storage capacity: storage: 1Gi accessModes: - ReadWriteOnce hostPath: path: "/mnt/data"
mysql pvc
apiVersion: v1 kind: PersistentVolumeClaim metadata: name: mysql-pvc spec: storageClassName: my-storage accessModes: - ReadWriteOnce resources: requests: storage: 1Gi
mysql configmap
apiVersion: v1 kind: ConfigMap metadata: name: mysql-config data: mysql-database: kub-practice
mysql secret
apiVersion: v1 kind: Secret metadata: name: mysql-secret stringData: mysql-root-password: password123