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

제목[Project#4-1,2,3 disclosure] 반성문2019-12-11 15:58
작성자

저는 모두 시도해봤지만 실패하여 반성문을 작성하였습니다.

시도해본 것 중에서 도움이 될만한 정보들을 모아 공유하고자 이렇게 글을 쓰게 되었습니다.

제 정보가 자그마한 도움이 되기를 바랍니다.


#4-1 Use Jenkins to control the cluster of Project #3

해당 프로젝트는 Jenkins에서 pipeline으로 프로젝트를 만들어 3개 이상의 tasks를 만들어 cluster를 관리하는 것입니다.

일단 pipeline의 구조는 다음과 같습니다.

 

Pipeline Flow

젠킨스 파이프라인의 기본형은

Jenkinsfile (Declarative Pipeline)

pipeline {

    agent any

    stages {

        stage('Build') {

            steps {

                //

            }

        }

        stage('Test') {

            steps {

                //

            }

        }

        stage('Deploy') {

            steps {

                //

            }

        }

    }

}

입니다.

- pipeline

젠킨스 파이프라인은 CD(Continuous Delivery) pipeline의 사용자 정의 모델로 사용자가 단계마다 코드를 빌드할 수 있습니다.

- Agent

Agent는 젠킨스에게 모든 파이프라인에 대해 실행자와 작업공간을 할당해주도록 하는 젠킨스 구문입니다.

- Stage

Stage 블럭은 전체 파이프라인 중에서 “Build”“Test”, “Deploy”같이 개념적으로 나뉘어지는 부분을 정의합니다. stage를 통해서 해당 pipe의 상태와 처리과정을 엿볼 수 있습니다.

- Step

하나의 부품이라고 생각하면 편합니다. 젠킨스에게 특정한 시점에 하나의 일을 시키는 point입니다. 예를 들어 sh ‘python –version’ steps에 넣으면 shell python -–version을 넣어 console output으로 출력합니다.

위에서 본 기본형에서는 steps라고 적혀있으므로 한 블록({}) 안에 여러가지 step을 넣을 수 있습니다.

- Build

파이프라인을 시작하는 단계로 어디에 컴파일이 될 지 정하거나 모듈을 빌드하고 실행합니다.

- Test

Build가 잘 실행되었는지 가시적으로 확인하는 단계입니다.

- Deploy

빌드하고 테스트가 잘 되어있으면 추가적으로 무언가를 실행하는 단계입니다.

 

그래서 제가 생각해본 시나리오는 agent에 파이선을 넣고 build에서 docker machine을 불러와 swarm을 만든 후 test에서 잘 작동하는 지 확인해보고 deploy에서 3가지 일에 대해서 구현해보려 하였습니다.


참고 사이트 : https://jenkins.io/doc/pipeline/tour/hello-world/


#4-2(add a single physically separated machine into the docker swarm cluster)

학교에서 받은 IX 클라우드 서버 위에서의 도커와 제 컴퓨터 위에 있는 도커를 연결하고자 하였습니다. 그런데 docker swarm을 하려면 양쪽에서 포트를 열고 있어야하는데 학교 와이파이는 우리가 포트포워딩 설정을 못하기 때문에 외부(클라우드 컴퓨터)에서 접속하지 못합니다

따라서 다른 방법으로 접근해야합니다.

 

#4-3(evolve project #3 over kubernetes)

쿠버네티스를 윈도우에서 깔려고 하였는데 안깔려서 많이 고생하였습니다.

쿠버네티스 관련해서는 http://mobilelab.khu.ac.kr/dc/?board_name=DatacenterBBS&order_by=fn_pid&order_type=desc&vid=62 이 분이 너무 잘 정리해주셔서 넘어가도록 하겠습니다.


수고하셨습니다.

#반성문#살려주세여
댓글