
Docker 프라이빗 레지스트리를 구축하고 GCP 로드 밸런서와 Nginx를 활용하여 서비스 하는 중 로그인이 안되는 현상이 발생했다. 1. 환경 구성GCP 로드 밸런서(L7)VM 인스턴스: Nginx와 Docker Registry가 Docker 컨테이너로 실행트래픽 흐름:클라이언트는 https://도메인 로 접근로드 밸런서는 SSL 종료 후, 내부적으로 HTTP(포트 80)로 VM의 Nginx에 요청을 전달Nginx는 해당 요청을 Docker Registry로 프록시Nginx 설정 server { listen 80; server_name 도메인; location / { proxy_pass http://nexus:8081; proxy_set_heade..

Git 저장소를 AWS에서 GCP로 이전하면서 여러 가지 문제를 겪었다. 특히 대용량 저장소 이전에서 예상치 못한 난관이 많았고, 다양한 방법을 시도해 해결했다. 이번 글에서는 처음 시도한 방법과 실패한 이유, 그리고 최종적으로 성공한 방법을 정리해보려 한다. Git 저장소 이전 방법1. 기본적인 Git 이전 방법가장 먼저 아래와 같은 방식으로 저장소를 이전했다.1) 기존 저장소를 클론 (mirror 방식)git clone --mirror 2) 새로운 저장소에 푸시cd .gitgit remote set-url origin git push --mirror하지만... 대용량 저장소에서는 실패! 😭push 실패 원인과 해결 방법❌ 실패 원인: push 중 RPC 에러 발생파일 크기가 크면 아래와 같은 에..

AWS에서 GCP로 이전하는 작업 중에서 Bucket을 어떻게 옮겨야하나 고민이 많았다. 프로그램을 작성해야하나 고민 했지만 GCP에서는 손쉽게 이전 할 수 있는 방법을 제공하고 있다.개인적으로 GCP의 문서들은 보기 어렵다고 생각되는데 이번 가이드 만큼은 아주 쉬워서 따라하기에 무리가 없었다.1. AWS 작업하기1.1 CloudFront 배포 생성 🌐 🌟🌟AWS CloudFront는 콘텐츠 전송 네트워크(CDN, Content Delivery Network) 서비스로 전 세계에 분산된 엣지 로케이션(Edge Location)을 활용해서 웹 콘텐츠(이미지, 동영상, HTML, CSS, API 응답 등)를 빠르고 안전하게 전달하는 역할을 한다. CloudFront를 이용해 S3 데이터를 배포하려면 아..

쿠버네티스를 사용하는 고객사에서 파일을 업로드 할 때 413 Request Entity Too Large 에러가 발생했다. 1MB를 갓 넘기는 파일이라 이게 대체 무슨일인가 보았더니, nginx에서는 업로드하는 파일의 용량을 기본적으로 1MB로 제한하기 때문이었다. 쿠버네티스에서도 ingress에서 설정을 해주지 않으면 nginx와 같은 기본값을 사용한다.Ingress 설정 방법ingress의 proxy-body-size를 설정하는 방법은 아주 간단히 어노테이션을 추가해주면 된다."nginx.ingress.kubernetes.io/proxy-body-size: 허용용량"apiVersion: networking.k8s.io/v1kind: Ingressmetadata: name: my-app annota..

쿠버네티스 pod 에서 외부의 서비스에 접근 할 수 있으려면 Service 와 Endpoints를 생성해주어야 한다. Service 와 EndPoints 생성 1. yaml 작성 vi test-svc.yaml --- apiVersion: v1 kind: Service metadata: name: test-mysql #service의 이름을 적어준다 spec: type: ClusterIP ports: - name: mysqldb port: 3306 targetPort: 3306 --- apiVersion: v1 kind: Endpoints metadata: name: test-mysql #service의 이름을 적어준다 subsets: - addresses: - ip: 172.26.10.56 #db서버의 ..

저는 os는 ubuntu22.04 package 관리 툴로는 snap 을 사용했습니다. 본인의 os 와 패키지 관리 툴에 맞는 명령어로 변경해주세요. ⭐⭐ master와 모든 worker 노드에서 실행해줘야 합니다. ⭐⭐ 1. docker 관련 설정 1) docker 설치 (설치 되어있는 경우 생략) sudo apt update sudo snap version #2.61.1 이상이 아닌 경우 docker를 설치 할 수 없음으로 버전 업데이트를 해준다. 1-1) snap version 업데이트 #snap update sudo snap refresh 1-2) docker 설치 sudo snap install docker 1-3) docker 시작 sudo systemctl start snap.docker.d..

master노드와 worker노드를 구축하고 마스터에 직접 접속하지 않고 local에서 kubectl 명령어를 통해 k8s를 사용하려고 했다. master node의 ~/.kube/config를 로컬서버의 ~/.kube/config로 복사를 해주고, 서버 정보를 master node의 public IP로 지정을 해주고 kubectl 명령어를 쳤는데 아래와 같은 에러가 났다. (kubectl 설치 되어있어야합니다!) 잉..? master노드와 같은 네트워크망에 서버를 하나 생성하고 거기에서도 똑같이 했는데 에러가 났다..🤔 근데 이상한건 master node의 public ip가 아니라 private ip로 하니까 정상적으로 실행 되었다. hmmmmm...방화벽의 문제는 아니다.. 왜냐 난 6443을 열어..

minikube는 쿠버네티스 학습과 개발을 용이하게 만든 로컬 쿠버네티스다. 설치 준비 minikube를 설치하기 위해서는 아래와 같은 리소스가 필요하다. - 2 CPUs 이상 - 2GB 의 메모리 - 20GB 이상의 디스크 공간 - 인터넷 - 컨테이너 혹은 virtual machine manager (Docker, Podman, VirtualBox 등등) 설치하기 - 설치하는 방법은 매우 간단하다! 아래의 링크에서 내 PC 환경에 맞게 선택하면 설치 명령어를 제공해준다. https://minikube.sigs.k8s.io/docs/start/ minikube start minikube is local Kubernetes minikube.sigs.k8s.io 나는 macOs에 homebrew로 다운로드 ..
- Total
- Today
- Yesterday
- 자바
- 자바코테
- 전자정부프레임워크
- 아파치카프카
- 자바스크립트
- Linux
- softeer
- 리액트
- 코테
- 현대
- java
- 현대오토에버
- 도커
- nginx
- 코딩테스트
- softeer java
- react
- centos
- 오토에버코테
- springboot
- mysql
- javascript
- 톰캣
- Spring
- Kubernetes
- 스프링
- 현대코테
- Docker
- tomcat
- 쿠버네티스
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |