[Aws cloud school 47일차]_쿠바네티스 서비스 실습

miniPig·2024년 7월 21일

AWS cloud school

목록 보기
27/31

쿠바네티스 서비스 종류 3가지

  1. 클러스터 IP → 클러스터 내부에서만 접속 가능
  2. Node port → 클러스터 외부에서 접속 가능
  3. LB → csp만 지원 가능 (type: LoadBalancer )

01-db.yaml

apiVersion: v1
kind: Service
metadata:
  name: db-svc
spec:
  selector:
    app: mydb
  ports:
  - port: 3306
    targetPort: 3306
---
apiVersion: v1
kind: Pod
metadata:
  name: mydb
  labels:
    app: mydb
spec:
  containers:
  - name: mydb
    image: chohyeon1208/myapp:mydb
    resources:
    ports:
      - containerPort: 3306

02-redis.yaml

apiVersion: v1
kind: Service
metadata:
  name: redis-svc
spec:
  selector:
    app: redis
  ports:
  - port: 6379
    targetPort: 6379
---
apiVersion: v1
kind: Pod
metadata:
  name: myredis
  labels:
    app: redis
spec:
  containers:
  - name: myredis
    image: chohyeon1208/myapp:redis
    ports:
      - containerPort: 6379

03-falsk.yaml

apiVersion: v1
kind: Service
metadata:
  name: myapp-svc
spec:
  selector:
    app: flask
  ports:
  - port: 5000
    targetPort: 5000
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: myapp
  labels:
    app: flask
spec:
  replicas: 3
  selector:
    matchLabels:
      app: flask
  template:
    metadata:
      labels:
        app: flask
    spec:
      containers:
      - name: myapp
        image: chohyeon1208/myapp:app
        ports:
        - containerPort: 5000

04-nginx.yaml

apiVersion: v1
kind: Service
metadata:
  name: mynginx
spec:
  selector:
    app: nginx
  ports:
  - port: 80
    targetPort: 80
    nodePort: 31000
  type: LoadBalancer
  externalTrafficPolicy: Local
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: mynginx
  labels:
    app: nginx
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: mynginx
        image: chohyeon1208/myapp:nginx
        ports:
        - containerPort: 80

0개의 댓글