Closed yunsangr closed 2 years ago
> sudo snap install kompose # snap 을 사용해 kompose 설치
kompose 1.21.0 from Ricardo Amendoeira (ric2b) installed
> kompose convert -f docker-compose.yml --out docker-kompose.yml
FATA Version 3.8 of Docker Compose is not supported. Please use version 1, 2 or 3 # Docker Compose 1, 2 or 3 버젼만 지원되니 docker-compose.yml 에서 버젼을 3으로 변경
> kompose convert -f docker-compose.yml --out docker-kompose.yml # docker-compose.yml -> docker-kompose.yml로 전환
INFO Service name in docker-compose has been changed from "converter_worker" to "converter-worker"
INFO Service name in docker-compose has been changed from "extractor_worker" to "extractor-worker"
INFO Service name in docker-compose has been changed from "generator_worker" to "generator-worker"
INFO Service name in docker-compose has been changed from "batch_worker" to "batch-worker"
> minikube image load mdwalks_clue_api_develop:126 # k8s 에 api 이미지 로드
> minikube image load mdwalks_clue_nginx_develop:126 # k8s 에 nignx 이미지 로드
> kubectl apply -f docker-kompose.yml
service/api created
service/nginx created
service/redis created
deployment.apps/api created
persistentvolumeclaim/web created
deployment.apps/batch-worker created
deployment.apps/converter-worker created
persistentvolumeclaim/web configured
deployment.apps/extractor-worker created
deployment.apps/generator-worker created
deployment.apps/nginx created
deployment.apps/redis created
결과는 실패
> minikube service list
|----------------------|---------------------------|--------------|---------------------------|
| NAMESPACE | NAME | TARGET PORT | URL |
|----------------------|---------------------------|--------------|---------------------------|
| default | api | No node port |
| default | clue-cdn | 4000 | http://192.168.49.2:30976 |
| default | hello-node | 8080 | http://192.168.49.2:32098 |
| default | kubernetes | No node port |
| default | nginx | No node port |
| default | redis | No node port |
| kube-system | kube-dns | No node port |
| kubernetes-dashboard | dashboard-metrics-scraper | No node port |
| kubernetes-dashboard | kubernetes-dashboard | No node port |
|----------------------|---------------------------|--------------|---------------------------|
- converer-worker/nginx 컨테이너에서 `Back-off restarting failed container` 가 발생
- converter-worker:
FileNotFoundError: [Errno 2] No such file or directory: '/mdwalks_clue/files/log/converters.log'
- nginx
2021/10/27 07:44:13 [emerg] 1#1: host not found in upstream "mdwalks_clue_develop_api_1:8000" in /etc/nginx/conf.d/api_reverse_proxy.conf:5 nginx: [emerg] host not found in upstream "mdwalks_clue_develop_api_1:8000" in /etc/nginx/conf.d/api_reverse_proxy.conf:5
#### 참고 링크
https://kompose.io/
host not found in upstream
해결 못함
mdwalks_clue_develop_api_1
으로 rename 해보았지만 실패api:
image: "mdwalks_clue_api_develop:126"
entrypoint: bash bin/run_server.sh 8000
expose:
- 8000
depends_on:
- redis
volumes:
- web:/mdwalks_clue/files
labels:
kompose.service.type: nodeport
service.type 추가로 결과 화면
(base) ➜ kubernetes minikube service list
|----------------------|---------------------------|--------------|---------------------------|
| NAMESPACE | NAME | TARGET PORT | URL |
|----------------------|---------------------------|--------------|---------------------------|
| default | api | 8000/8000 | http://192.168.49.2:32510 |
| default | clue-cdn | 4000 | http://192.168.49.2:30976 |
| default | hello-node | 8080 | http://192.168.49.2:32098 |
| default | kubernetes | No node port |
| default | nginx | 8888/8888 | http://192.168.49.2:31293 |
| default | redis | No node port |
| kube-system | kube-dns | No node port |
| kubernetes-dashboard | dashboard-metrics-scraper | No node port |
| kubernetes-dashboard | kubernetes-dashboard | No node port |
|----------------------|---------------------------|--------------|---------------------------|
목표: nginx ingress controller 정상 구동
> minikube addons enable ingress
▪ Using image k8s.gcr.io/ingress-nginx/kube-webhook-certgen:v1.0
▪ Using image k8s.gcr.io/ingress-nginx/kube-webhook-certgen:v1.0
▪ Using image k8s.gcr.io/ingress-nginx/controller:v1.0.0-beta.3
🔎 Verifying ingress addon...
🌟 The 'ingress' addon is enabled
minikube addons list ----------------------------- ---------- -------------- ----------------------- ADDON NAME PROFILE STATUS MAINTAINER ambassador minikube disabled unknown (third-party) auto-pause minikube disabled csi-hostpath-driver minikube disabled kubernetes dashboard minikube enabled ✅ kubernetes default-storageclass minikube enabled ✅ kubernetes efk minikube disabled unknown (third-party) freshpod minikube disabled gcp-auth minikube disabled gvisor minikube disabled helm-tiller minikube disabled unknown (third-party) ingress minikube enabled ✅ unknown (third-party) ingress-dns minikube disabled unknown (third-party) istio minikube disabled unknown (third-party) istio-provisioner minikube disabled unknown (third-party) kubevirt minikube disabled unknown (third-party) logviewer minikube disabled metallb minikube disabled unknown (third-party) metrics-server minikube disabled kubernetes nvidia-driver-installer minikube disabled nvidia-gpu-device-plugin minikube disabled unknown (third-party) olm minikube disabled unknown (third-party) pod-security-policy minikube disabled unknown (third-party) portainer minikube disabled portainer.io registry minikube disabled registry-aliases minikube disabled unknown (third-party) registry-creds minikube disabled unknown (third-party) storage-provisioner minikube enabled ✅ kubernetes storage-provisioner-gluster minikube disabled unknown (third-party) volumesnapshots minikube disabled kubernetes ----------------------------- ---------- -------------- -----------------------
- 활성화된 ingress를 확인합니다.
```sh
> minikube ip
192.168.49.2
> curl -I http://192.168.49.2/healthz
HTTP/1.1 200 OK
Date: Fri, 05 Nov 2021 01:08:15 GMT
Content-Type: text/html
Content-Length: 0
Connection: keep-alive
CLUE 프로젝트 Minikube로 배포
69번에서 실행되고 있는 mdwalks-clue 서비스를 minikube를 사용해 130번서버(윤상열 개인서버)로 배포해봅니다.
35 을 참고합니다.