ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • redis를 이용해 방명록 생성
    클라우드 교육/kubernetes 2023. 1. 4. 11:32

     

    redis를 이용해 방명록을 기록해보자.

     

     

    yaml파일을 생성할게 많다. 

     

     

    #redis.yaml
    
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: redis-leader
      labels:
        app: redis
        role: leader
        tier: backend
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: redis
      template:
        metadata:
          labels:
            app: redis
            role: leader
            tier: backend
        spec:
          containers:
          - name: leader
            image: "docker.io/redis:6.0.5"
            resources:
              requests:
                cpu: 100m
                memory: 100Mi
            ports:
            - containerPort: 6379

     

     

    #service-redis.yaml
    
    apiVersion: v1
    kind: Service
    metadata:
      name: redis-leader
      labels:
        app: redis
        role: leader
        tier: backend
    spec:
      ports:
      - port: 6379
        targetPort: 6379
      selector:
        app: redis
        role: leader
        tier: backend

     

     

    #follower.yaml
    
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: redis-follower
      labels:
        app: redis
        role: follower
        tier: backend
    spec:
      replicas: 2
      selector:
        matchLabels:
          app: redis
      template:
        metadata:
          labels:
            app: redis
            role: follower
            tier: backend
        spec:
          containers:
          - name: follower
            image: gcr.io/google_samples/gb-redis-follower:v2
            resources:
              requests:
                cpu: 100m
                memory: 100Mi
            ports:
            - containerPort: 6379

     

     

    #service-follower.yaml
    
    apiVersion: v1
    kind: Service
    metadata:
      name: redis-follower
      labels:
        app: redis
        role: follower
        tier: backend
    spec:
      ports:
      - port: 6379
      selector:
        app: redis
        role: follower
        tier: backend

     

    #frontend.yaml
    
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: frontend
    spec:
      replicas: 3
      selector:
        matchLabels:
            app: guestbook
            tier: frontend
      template:
        metadata:
          labels:
            app: guestbook
            tier: frontend
        spec:
          containers:
          - name: php-redis
            image: gcr.io/google_samples/gb-frontend:v5
            env:
            - name: GET_HOSTS_FROM
              value: "dns"
            resources:
              requests:
                cpu: 100m
                memory: 100Mi
            ports:
            - containerPort: 80

     

    #service-frontend.yaml
    
    apiVersion: v1
    kind: Service
    metadata:
      name: frontend
      labels:
        app: guestbook
        tier: frontend
    spec:
      type: NodePort
      ports:
      - port: 80
        nodePort: 30001
        targetPort: 80
        protocol: TCP
      selector:
        app: guestbook
        tier: frontend

     

     

    위의 파일을 다 생성하면 아래처럼 될거다.

     

    그럼 이제 master ip에서 30001포트로 접속하면 아래처럼 뜬다. 

    잘 구현하면

     

    아래처럼 한 kubernetes에 아래 3개가 다 접속가능하다. 

     

    댓글

Designed by Tistory.