일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 백준 14938번 서강그라운드
- HashSet
- StringBuilder
- StringTokenizer
- 백준 2467번 용액 자바 - 이분탐색
- map
- hash
- 코틀린기초
- 백준 1043번 거짓말 - java 분리 집합
- 프로그래머스 java
- 백준 1647번 도시 분할 계획 - java
- 백준 1541
- kotlin
- HashMap
- 백준 1806번 부분합 java
- 백준 1197번 최소 스패닝 트리 - java
- dp
- 프로그래머스 자바
- toUpperCase
- 백준 2473번 세 용액 - java
- replace()
- 백준 3190번
- 18111번 마인크래프트 - java 구현
- append
- mysql hy000 에러
- Stack
- 프로그래머스
- ac 5430번
- Java
- 최소 힙 1927
- Today
- Total
말하는 컴공감자의 텃밭
인텔리제이로 로컬에서 쿠버네티스 배포 - minikube 본문
배포를 진행해보자.
도커 파일, 도커 이미지, JAR 파일이 있다고 가정하고 진행한다.
Yaml 파일 종류를 다루고 Ingress, Service, Deployment를 활용해보는것이 목표.
도커 이미지로 배포하기.
먼저 이미지가 존재한다면 터미널에서 간단하게 서버를 열어보자.
docker run -i -t -p 8080:8080 <<이미지 이름 넣으세요>>
이제 미니쿠베로 해보자.
https://minikube.sigs.k8s.io/docs/start/
사이트에서 파일을 받거나, 커맨드 명령어를 통해 다운받으면 된다.
New-Item -Path 'c:\' -Name 'minikube' -ItemType Directory -Force
Invoke-WebRequest -OutFile 'c:\minikube\minikube.exe' -Uri 'https://github.com/kubernetes/minikube/releases/latest/download/minikube-windows-amd64.exe' -UseBasicParsing
그 이후 minikube 경로를 찾아준다.
나는 C:\Program Files\Kubernetes\Minikube 에 존재했다.
$oldPath = [Environment]::GetEnvironmentVariable('Path', [EnvironmentVariableTarget]::Machine)
if ($oldPath.Split(';') -inotcontains 'C:\Program Files\Kubernetes\Minikube'){
[Environment]::SetEnvironmentVariable('Path', $('{0};C:\Program Files\Kubernetes\Minikube' -f $oldPath), [EnvironmentVariableTarget]::Machine)
}
저 경로부분을 수정해주면 된다.
kubectl get po -A
명령을 실행해보자.
kubectl 는 자주 사용할 명령어이다. 클러스터랑 상호작용하는 명령어이고 명령어를 해석하면
get으로 리소스의 현재 상태를 조회하고, po는 Pod를 의미한다.
-A는 all로 결국 쿠버네티스 클러스터의 모든 Pod의 리소스 목록을 불러온것이다.
쿠버네티스 개념 : https://hb-in99.tistory.com/154
이제 배포를 할건데. 배포에는 디플로이멘트가 필요하다.
kubectl create deployment hello-minikube --image=kicbase/echo-server:1.0
kubectl expose deployment hello-minikube --type=NodePort --port=8080
두 코드를 통해 'hello-minikube'라는 이름의 디플로이멘트를 생성할것이다. image는"kicbase/echo-server:1.0"를 사용하고
이 이미지는 간단한 Echo 서버를 제공하는 이미지다.
생성 후 get deployment를 통해 모든 디플로이멘트에 대해 확인할 수 있다.
kubectl get deployment
이제 배포를 시작해보자. service를 통해 진행한다.
kubectl get services hello-minikube
minikube service hello-minikube
를 통해 클러스터 내에서 실행중인 서비스를 외부에서 접근할 수 있는 URL을 제공해 준다.
배포된 애플리케이션에 영향을 주지 않고 Kubernetes를 일시 중지합니다.
minikube pause
일시 중지된 인스턴스를 일시 중지 해제합니다.
minikube unpause
클러스터를 중지합니다.
minikube stop
기본 메모리 제한을 변경합니다(다시 시작해야 함).
minikube config set memory 9001
쉽게 설치할 수 있는 Kubernetes 서비스 카탈로그를 찾아보세요.
minikube addons list
이전 Kubernetes 릴리스를 실행하는 두 번째 클러스터를 만듭니다.
minikube start -p aged --kubernetes-version=v1.16.1
모든 Minikube 클러스터를 삭제합니다.
minikube delete --all