본문 바로가기
Tech/Kubernetes

[AEWS_1기] 1주차 - Amazon EKS 도전과제 (2/2)

by 구름_쟁이 2023. 5. 3.

본 시리즈는 가시다님의 AEWS(AWS EKS Workshop) 1기 진행 내용입니다. (가시다님 노션)

스터디에 사용되는 링크 (AWS EKS Workshop) 

 

목차

1. Private ECR Repo 생성 및 이미지 push & pull

 

참고 링크

     

     

     

     

     


    Private ECR Repo 생성 및 이미지 push & pull

     

     

    Dockerfile

    ## Dockerfile
    FROM public.ecr.aws/docker/library/ubuntu:18.04
    
    # Install dependencies
    RUN apt-get update && \
     apt-get -y install apache2
    
    # Install apache and write hello world message
    RUN echo 'Hello World!' > /var/www/html/index.html
    
    # Configure apache
    RUN echo '. /etc/apache2/envvars' > /root/run_apache.sh && \
     echo 'mkdir -p /var/run/apache2' >> /root/run_apache.sh && \
     echo 'mkdir -p /var/lock/apache2' >> /root/run_apache.sh && \ 
     echo '/usr/sbin/apache2 -D FOREGROUND' >> /root/run_apache.sh && \ 
     chmod 755 /root/run_apache.sh
    
    EXPOSE 80
    
    CMD /root/run_apache.sh

     

     

    Private ECR 로그인 및 Dockerfile이 준비가 됐으면, 아래와 같이 작업한다.

    ## 1. docker build
    docker build -t netcloudy .
    
    ## 2. docker 이미지를 Private ECR로 태깅
    docker tag netcloudy:latest 550723012562.dkr.ecr.ap-northeast-2.amazonaws.com/netcloudy:latest
    
    ## 3. docker 이미지 Private ECR로 push
    docker push 550723012562.dkr.ecr.ap-northeast-2.amazonaws.com/netcloudy:latest

     

    배포된 것 확인하러 Private Repository 확인

    Private Repository에 잘 저장된 것 확인

     

     

    클러스터에서 Deply-svc.yaml 파일 배포

    ## private-ecr-deploy-svc.yaml
    ---
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: netcloudy
      labels:
        app: netcloudy
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: netcloudy
      template:
        metadata:
          labels:
            app: netcloudy
        spec:
          containers:
          - name: netcloudy
            image: 550723012562.dkr.ecr.ap-northeast-2.amazonaws.com/netcloudy
    ---
    apiVersion: v1
    kind: Service
    metadata:
       name: netcloudy
    spec:
      selector:
        app: netcloudy
      ports:
      - port: 80
        protocol: TCP
        targetPort: 8080
      type: LoadBalancer

     

    결과 확인

     

     

     

    결론

    회사 일이 너무 바빠서 도전과제를 많이 음미하지 못했지만, 나날이 정진하고 있음을 느껴서 기분이 굉장히 좋다!

    2주차도 기다려진다

     

     


     

    마무리

    회사 일이 바쁜데도 스터디도 하고 애도 보고 하는 게 가능하냐고 질문하는 주변 분들에게 항상 하는 말이 있다.

    "안 자면 가능합니다"

    욕심이 많은 편이라 일도 잘 해내고 싶고, 익숙하지 않은 기술에 대해서 배울 수 있는 스터디도 하고 싶고, 애기랑도 재미난 것들 하면서 놀아주고 싶다.

    그러다보니 자연스레 게임을 접게 되었다..(진짜로 할 시간이 없어서...)

    결론이 이상한 길로 새는데 다시 바로 잡아보자면, '원하는 걸 고통없이 얻을 수 있는 건 취미 뿐이리라'는 생각을 문득 해보았다. 스터디를 하면서 정말 좋은 점은 지금 하고 있는 일과 시너지를 일으킨다는 것이라고 할 수 있다.

    인프라 엔지니어 > 클라우드 엔지니어 > 데브옵스 로 직군을 옮겨왔다.

    현재 신규 플랫폼에 대한 인프라,네트워크 등등의 전방위적인 설계를 다 해야 한다.(사실상 개발 파트 빼고 다...)

    왜 다 해야 하냐면 엔지니어가 혼자라서 이다 하하.. 하하하..

    막힐 때 물어볼 곳 없는 외로운 점을 스터디가 다잡아준다. 스터디하다보면 '이건 이런 설계할 때 반영해봐야 겠다' 라는 생각이 드문드문 든다.

    역시 사람은 발등에 불이 떨어지면 능력을 발휘한다는 생각을 하며... 남은 6주도 배움이 충만하길!

     

     

     

     

     

    댓글