본문 바로가기
OS/Linux

k8s tomcat 배포

by BTC_KSH 2022. 12. 21.

안녕하세요~~ 저희는 공공의 적 팀입니다~~<(*^.^*)/

 

오늘은 k8s 환경 tomcat 배포 방법에 대해 소개드립니다.

 

Apache tomcat 이란 ? 

-> 아파치 톰캣은 아파치 소프트웨어 재단에서 개발한 서블릿 컨테이너만 있는 웹 애플리케이션 서버

 

 

  1. 컨테이너 구성

(1) 톰캣 배포 및 서비스용 yaml 파일 생성

  • vi tomcat-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: tomcat-deployment-ksh
  labels:
    tags.datadoghq.com/env: "env1"
    tags.datadoghq.com/service: "service1"
    tags.datadoghq.com/version: "version1"
spec:
  selector:
    matchLabels:
      app: tomcat-deployment-ksh
  template:
    metadata:
      labels:
        app: tomcat-deployment-ksh
        tags.datadoghq.com/env: "env1"
        tags.datadoghq.com/service: "service1"
        tags.datadoghq.com/version: "version1"

    spec:
      volumes:
        - hostPath:
            path: /var/run/datadog/
          name: apmsocketpath
      containers:
        - name: tomcat-container-ksh
          image: tomcat:8.5.53      
          ports:
            - containerPort: 8080
					volumeMounts:
            - name: apmsocketpath
              mountPath: /var/run/datadog
          env:
            - name: DD_ENV
              valueFrom:
                fieldRef:
                  fieldPath: metadata.labels['tags.datadoghq.com/env']
            - name: DD_SERVICE
              valueFrom:
                fieldRef:
                  fieldPath: metadata.labels['tags.datadoghq.com/service']
            - name: DD_VERSION
              valueFrom:
                fieldRef:
                  fieldPath: metadata.labels['tags.datadoghq.com/version']

            - name: DD_LOGS_INJECTION
              value: "true"

  • vi tomcat-service.yaml
apiVersion: v1
kind: Service
metadata: 
  name: tomcat-service-ksh
spec:
  type: NodePort
  ports:
    - port: 80
      protocol: TCP
      targetPort: 8080
      nodePort: 32227
  selector:
    app: tomcat-deployment-ksh
  • kubectl appy -f tomcat-deployment.yaml
  • kubectl appy -f tomcat-service.yaml

2 . 클러스터 ip : 32227 로 설치한 톰캣 웹페이지 접속( service.yaml에서 지정한 외부 포트 , 32227 포트 오픈 필요 )

'OS > Linux' 카테고리의 다른 글

오프라인 Docker 설치방법  (0) 2022.12.21
리눅스 압축 관련 명령어  (0) 2022.12.21
k8s Ignite 설치 방법  (0) 2022.12.21
make 와 makefile 언제 사용할까?  (2) 2022.12.21
[Linux] 파이프, 필터, 리디렉션  (0) 2022.12.09

댓글