DevOps

[DevOps] Kubernetes yml - Deployment, Services 만들기 Example

차노도리 2023. 6. 21. 19:42

Kubernetes yml

  • apiVersion :Kubernetes API 버전
  • kind :리소스의 종류
  • metadata :name 등리소스에 대한 메타데이터
  • spec :컨테이너 이미지, 포트, 환경 변수 세부 사항

 

deployment

ex) deployment.yml 

## Kubernetes API의 버전
apiVersion: apps/v1
## 리소스의 종류
kind: Deployment
## name등 리소스에 대한 메타데이터
metadata:
  name: gugbab-cicd-deployment
## 컨테이너 이미지, 포트, 환경 변수 등 세부 사항
spec:
  selector:
    matchLabels:
      app: gugbab-cicd-devops-project
  replicas: 2
  template:
    metadata:
      labels:
        app: gugbab-cicd-devops-project
    spec:
      containers:
      - name: gugbab-cicd-devops-project
        image: puk0806/gugbab-cicd-project-ansible
        imagePullPolicy: Always
        ports:
        - containerPort: 8080

 

Service

  • deployment를 외부에서 사용할 수 있게 서비스 생성

ex) service.yml

apiVersion: v1
kind: Service
metadata:
  name: gugbab-cicd-service
  labels:
    app: gugbab-cicd-devops-project
spec:
  selector:
    app: gugbab-cicd-devops-project
  type: NodePort
  ports:
    - port: 8080
      targetPort: 8080
      nodePort: 32000

 

 

K8s yml 파일 실행

  • kubectl apply -f [파일명]