'install'에 해당하는 글 3건

Minikube 설치

Tool/Kubernetes 2019. 3. 21. 21:07

로컬 머신 솔루션


쿠버네티스의 많은 설치 솔루션 중 가장 접근성이 편한 것이 로컬 머신 솔루션이다. 무료인데다가 PC 나 노트북 등에서 리눅스가 아닌 OS 환경에서도 쉽게(?) 이용할 수 있다. 아무래도 로컬 머신 솔루션은 개발 및 테스트가 목적이라 빠르고 간편한(?) 설치 등의 장점이 있는 반면에 약간의 제약들도 있을 것이다. 어짜피 이것들로 운영은 어려우며 초반에만 가지고 놀 것들이니 대충 써보고 정 붙이지는 말자. 쿠버네티스를 사용하려면 리눅스 환경이 필요한데, Windows 에서 virtualbox 같은 하이퍼바이저를 사용하여 쿠버네티스를 이용할 수 있게 해놓은 솔루션도 있다. 아래는 쿠버네티스의 로컬 머신 솔루션의 일부이다. 


  1. Minikube
    쿠버네티스 공식사이트에서 추천하는 로컬 머신 솔루션이며 Windows/Mac/Linux 에서 사용 가능하고 많은 애드온을 추가할 수 있다. 단일 노드만 지원하므로 다중 노드를 위한 기능은 동작하지 않을 것이다.

  2. Docker Desctop
    Windows/Mac 에서만 사용 가능하며 Docker 설치 후 설정에서 kubernetes 만 체크하면 수 분 내에 설치가 완료된다. 마찬가지로 단일 노드만 지원한다.

  3. Minishift
    Redhat 쿠버네티스 지원 플랫폼인 openshift 를 테스트할 수 있는 도구로, Windows/Mac/Linux 에서 사용 가능하며, 역시 단일 노드.

  4. Microk8s
    리눅스에서만 사용 가능하며 VM 은 필요없다, 마찬가지 단일 노드.

  5. Kubeadm-dind
    dind (Docker IN Docker) 기술로 멀티 노드를 지원하는 솔루션이다. 리눅스에서만 사용 가능,  그냥 배포판을 사용하는 것이...


Windows 사용자라면 고민할 필요없이 Minikube 이다. 다른 솔루션에 비해 모든 OS 와 많은 VM / Addon 을 지원한다. 나 역시 Minikube 를 사용하여 단일 노드로 할 수 있는 거의 모든 것들을 테스트 해 보기로 결정했다. 다음은 리눅스 서버로 클러스트 생성과 멀티 노드 등 나머지 테스트. 마지막에는 호스티드 솔루션(gke, eks)에서 최종 서비스를 하는 걸로.




Minikube 설치


준비할 거 없음. 바로 설치 고고~



1. macOS


- Homebrew 로 설치

$ brew cask install minikube


- 바이너리로 설치

$ curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-darwin-amd64 \

  && chmod +x minikube

$ sudo mv minikube /usr/local/bin


* curl -o(output) 옵션은 stdout 출력을 파일에 작성한다. 여러 URL 이나 바이너리 등에 사용한다.



2. Linux


- 바이너리로 설치

$ curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 \

  && chmod +x minikube

$ sudo cp minikube /usr/local/bin && rm minikube



3. Windows


- 윈도우즈 패키지 매니저인 Chocolatey 로 설치 (관리자권한 cmd)

> choco install minikube kubernetes-cli


- 바이너리로 설치

minikube-windows-amd64 다운로드 후 minikube.exe 로 이름 변경하고 path 에 추가


- 인스톨러로 설치

minikube-installer.exe 다운로드 후 실행




WRITTEN BY
손가락귀신
정신 못차리면, 벌 받는다.

,

Jenkins install

Tool/Jenkins 2017. 2. 9. 23:09

프로젝트의 자동 빌드 및 배포를 목적으로 CI/CD (Continuous Integration/Deployment) 를 적용하기로 했다.

CI tool 중 가장 많이들 사용하는 jenkins 와 AWS 에 최적화 된 우리에게 적합한 CodeDeploy 를 테스트하고 비교해 보기로 했다.


[필수 요구 조건]


- 하나의 VCS 에서 모듈 별로 배포가 가능해야 한다.

- 운영/개발 서버별로 배포가 가능해야 한다.

- 배포시 특정 서버를 선택할 수도 있어야 한다.


현재는 로컬에서 빌드하고 S3에 업로드 하고 각 서버들에서 배치파일을 실행하여 배포가 되는 식이다.

이것을 VCS 에서 특정 모듈을 특정 서버로 자동 배포하는 방식으로 바꾸려는 것이다.




1. Jenkins 란


Jenkins 는 Java 로 제작된 CI 오픈소스 툴이다.

소프트웨어 빌드, 테스트 및 배포와 같은 모든 종류의 작업을 자동화하는 데 사용할 수 있다.



2. 설치 전 요구사항


- Java 8 (최소 7)

- 1GB+ 메모리 (최소256M)

- 50GB+ (최소1G)



3. 다운로드 / 설치


Jenkins 는 Docker 로도 설치할 수 있고, Tomcat 에 서블릿으로도 설치할 수 있고, 서버에 독립형(Standalone) 으로도 설치가 가능하다.

난 설정이 번거롭긴 하지만 깔끔하게 독립형으로 진행해 본다.


- Redhat / Centos


$ wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
$ rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key
$ yum update
$ yum install jenkins
cs


- Debian / Ubuntu


$ wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -
$ sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
$ apt-get update
$ apt-get install jenkins
cs


나머지 OS 는 사이트 document 참고 - https://jenkins.io/doc/book/getting-started/installing/



4. 환경 설정


/etc/sysconfig/jenkins 설정 파일에서 필요한 부분을 확인/수정한다.

(JENKINS_HOME, JENKINS_USER, HTTP_PORT 등)


HTTP_PORT 를 수정하여 브라우저 접속 포트를 변경할 수 있다.(기본 8080)



5. 데몬 실행


$ service jenkins start
cs



6. Jenkins 사이트 설정


jenkins 데몬을 실행하고 브라우저로 해당 서버에 접속하면 (http://ip or domain:8080/) jenkins 가 잠겨 있는데,

서버의 특정 위치(예:/var/lib/jenkins/secrets/initialAdminPassword) 에 생성된 password 를 복붙하여 다음 화면으로 이동한다.


- Customize Jenkins

다음으로 플러그 인을 설치하는 화면인데 필요한 플러그인을 모른다면, 일단 기본(추천) 하는 플러그인만 설치한다.

이렇게나 많은 플러그인 들이 기본으로...



- Create First Admin User

다음은 jenkins 를 관리할 관리자 계정을 생성하면 관리자 화면으로 이동하게 되고 설치를 일단락한다.





WRITTEN BY
손가락귀신
정신 못차리면, 벌 받는다.

,

Install on Ubuntu

Tool/Docker 2016. 1. 16. 22:53

Docker 는 거의 모든 리눅스 배포판에서 사용 가능하다.

Docker 를 설치할 수 있는 Ubuntu 배포판이다.


- Ubuntu Wily 15.10

- Ubuntu Vivid 15.04

- Ubuntu Trusty 14.04 (LTS)

- Ubuntu Precise 12.04 (LTS)



요구사항


- Ubuntu 버전과 상관없이 Docker 64-bit 를 설치.

- 커널 버전 3.10 이상 (uname -r 체크)



APT 저장소 업데이트


- 현재 apt 저장소에서 docker-engine 을 사용하기 위해 APT 저장소를 업데이트 한다.


gpg(Gnu Private Guard) key 추가

# apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D

gpg: requesting key 2C52609D from hkp server p80.pool.sks-keyservers.net

gpg: key 2C52609D: public key "Docker Release Tool (releasedocker) <docker@docker.com>" imported

gpg: Total number processed: 1

gpg:               imported: 1  (RSA: 1)


저장소 리스트 추가 (해당하는 버전의 주소 한 줄만 입력)

# vi /etc/apt/sources.list.d/docker.list


# On Ubuntu Precise 12.04 (LTS)

deb https://apt.dockerproject.org/repo ubuntu-precise main

# On Ubuntu Trusty 14.04 (LTS)

deb https://apt.dockerproject.org/repo ubuntu-trusty main

# On Ubuntu Vivid 15.04

deb https://apt.dockerproject.org/repo ubuntu-vivid main

# On Ubuntu Wily 15.10

deb https://apt.dockerproject.org/repo ubuntu-wily main


새 저장소에서 리스트 갱신

# apt-get update

# apt-get upgrade


docker-engine 패키지 확인

# apt-cache policy docker-engine


Ubuntu Trusty 14.04 (LTS) 버전부터는 aufs 스토리지 드라이버를 사용할 수 있도록 linux-image-extra 패키지를 설치한다.

# apt-get install linux-image-extra-$(uname -r)



Docker 설치


# apt-get install docker-engine



Docker 데몬 실행


# service docker start



Docker 작동 확인


# docker run hello-world



* 이후의 docker 사용시에는 docker 그룹 권한이 필요하므로 유저에게 그룹 권한을 부여하거나 sudo 를 이용해서 docker 를 사용하도록 한다.

(docker 데몬은 TCP 포트 대신 Unix 소켓에 바인드하여 실행되는데 Unix 소켓은 root 에게 소유권이 있으므로 docker 데몬은 root 로만 실행 가능하다.)




WRITTEN BY
손가락귀신
정신 못차리면, 벌 받는다.

,