일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- CKA 기출문제
- Kubernetes
- CloudWatch
- 공부
- kotlin querydsl
- AI
- PETERICA
- MySQL
- 코틀린 코루틴의 정석
- Spring
- 정보처리기사실기 기출문제
- minikube
- AWS EKS
- CKA
- kotlin
- 티스토리챌린지
- mysql 튜닝
- Linux
- kotlin coroutine
- Elasticsearch
- Java
- APM
- Pinpoint
- 정보처리기사 실기 기출문제
- IntelliJ
- kotlin spring
- aws
- 정보처리기사 실기
- 기록으로 실력을 쌓자
- 오블완
- Today
- Total
피터의 개발이야기
Minikube 드라이브 Hyperkit 설치하기 본문
ㅁ 들어가며
minikube의 런타임 드라이브는 Docker Desktop이 기본이다.
인그레스(Ingress) 컨트롤러로 Minikube에서 인그레스 설정하기에서 docker로 Ingress 테스트를 진행하는데 실패하였다.
그래서 driver가 문제가 될 수 있다는 글을 보아서 drive 설치 및 docker의 네트워크 문제에 대해서 분석을 해 보았다.
ㅁ Docker 안의 Docker 한계
ㅇ minikube를 사용하면서 네트워크 관련 작업을 할 때에 한계점을 만나게 된다.
ㅇ minikube 드라이브를 Docker를 사용할 경우 minikube node는 Docker 컨테이너로 생성된다.
ㅇ Ingress로 로드밸런스나 서비스를 생성하여 외부 접속 테스트를 할 때이면 외부에서는 쉽게 접속이 되지 않는다.
ㅇ minikube의 서비스를 외부 연결을 할 때에 아래의 경고가 발생한다.
ㅇ docker driver의 경우 터미널에서 프로세스를 유지해야 외부에서 접속이 가능하였다.
ㄴ 프로세스를 유지해야 하는 이유는 터널링으로 외부 연결을 유지하기 때문인듯 하다.
ㄴ docker 안에 docker 컨테이너가 있다보니 네트워크도 복잡하기 때문이다.
ㅇ host의 eth0 -> docker0 -> veth(virtual ethernet interface) -> 컨테이너의 eth0
ㄴ 컨테이너의 eth0 -> docker0 -> veth(virtual ethernet interface) -> 컨테이너 안의 컨테이너 eth0
ㅇ 함께 보면 좋은 사이트: 도커 네트워크의 이해
ㅁ HyperKit 설치
brew install hyperkit
ㅁ 사용법
# minikube 기동 시 드라이브 지정
$ minikube start --driver=hyperkit
# 기본 드라이브 지정
$ minikube config set driver hyperkit
ㅁ 함께 보면 좋은 사이트
'Kubernetes > minikube' 카테고리의 다른 글
[minikube] service의 type이 LoadBalancer인 경우 external ip가 pending 상태 해결방법 (0) | 2024.02.06 |
---|---|
인그레스(Ingress) 컨트롤러로 Minikube에서 인그레스 설정하기 (0) | 2024.01.17 |
[minikube] minikube 기본 명령어 정리 (0) | 2023.12.27 |
[minikube] minikube 워크노드 구성하기 (0) | 2023.12.27 |
[minikube] minikube에서 meteric server 실행하기 (0) | 2023.12.27 |