#docker #kubernetes #container #orchestrator #microservice #infrastructure-as-code #devops #ci #cd

제목project4 - case32019-12-12 23:02
작성자

[Project#4]-case3 : for Kubernetes case



과제 3에서 작성한 docker-compose.yaml 파일을 쿠버네티스에서 사용할 수 있도록 assignment4-replicaset.yaml으로 변형하였습니다.



기존의 과제 3에서는

Flask와 socket을 이용하여 web page를 생성하는 이미지인 con11235/assignment1:latest와

ubuntu에 curl을 설치한 이미지인 con11235/openweb을 사용하여 위의 web page의 html 정보를 긁어오는 docker-compose 파일을 작성하였습니다.

추가로 실습으로 진행한 visualizer와 redis도 포함되어 있습니다.

[참고] https://github.com/con11235/project3/blob/master/docker-compose.yml 



## linux환경에서 kubernetes를 사용하였기 때문에 일부 실행 명령어에 차이가 있을 수 있습니다. ##


과제 4에서는 아래와 같은 코드의 assignment4-replicaset.yaml 파일을 작성하였습니다.


apiVersionapps/v1
kindReplicaSet
metadata:
  nameweb
  labels:
    appsweb
spec:
  replicas3
  selector:
    matchLabels:
      appweb
  template:
    metadata:
      labels:
        appweb
    spec:
      containers:
      - nameweb
        imagecon11235/assignment1
        ports:
        - containerPort80
      - nameopenweb
        imagecon11235/openweb
        command: ["/bin/sh""-c""while : ;do curl http://localhost:80/; sleep 3; done"]

[참고] https://github.com/con11235/openweb/blob/master/assignment4-replicaset.yaml


mb-file.php?path=2019%2F12%2F12%2FF629_%EA%B2%BD%EB%A1%9C%EC%9D%B4%EB%8F%99.png

mb-file.php?path=2019%2F12%2F12%2FF630_minikube%EC%8B%A4%ED%96%89.png

해당 파일이 있는 경로로 이동한 후, 위의 파일을 실행하기 위해서 sudo minikube start 명령어로 minikube를 실행합니다.


mb-file.php?path=2019%2F12%2F12%2FF631_apply.png

sudo kubectl apply -f assignment4-replicaset.yaml 명령어로 레플리카 세트를 배포합니다.


mb-file.php?path=2019%2F12%2F12%2FF632_log.png

sudo kubectl get pod 명령어를 통해 레플리카 세트가 3개의 파드를 생성하였음을 알 수 있습니다.

(web-5글자 문자)라는 pod명으로 3개 생성됩니다.

kubectl logs -f (pod명) -c openweb 명령어를 통해 curl로 서버의 html을 읽어오는 기록을 볼 수 있습니다.

(위의 상황에서는 sudo kubectl logs -f web-84tsq -c openweb 명령어를 사용하였습니다.)


이상입니다.


추가적으로 kubernetes 실습을 할 때 작성했던 yaml 파일들을 아래 링크에서 확인 가능합니다.

[참고] https://github.com/con11235/openweb



댓글