Chapter01 74

[Docker] Java 애플리케이션 Docker Container에서 실행하기

build한 jar파일을Dockerfile을 이용해 Docker Container에서 실행하는 부분에 대해서 적어볼게요 = 이미지를 만든다 임       1. JAR 파일을 빌드프로젝트를 빌드해 jar파일을 만든다 ./gradlew build  build/libs 경로 아래에 jar파일이 생긴다   2. Dockerfile을 이용해 이미지 생성= JAR 파일을 Docker 컨테이너에서 실행할 수 있는 환경을 이미지로 만든다.  Dockerfile을 작성하고, 만든 jar파일을 컨데이너에서 실행할 수 있도록 설정한다  FROM openjdk:17-jdk-slim-busterRUN apt update && apt install -y postgresql-client ENV JDBC_URL=jdbc:log4jd..

Chapter01/Docker 2024.10.15

[ Docker ] Harbor 서버에 docker image push하기

이전에 생성한 mailserver docker image를 push해보겠음간단하게 harbor에 push하는 테스트가 해보고싶으면 생성하징않고 아무 이미지나 pull 받아서해도됨  ▼ ▼ ▼ 샘플 이미지 생성하기 ▼ ▼ ▼ ▼ ▼https://dev-emma-dev.tistory.com/231 [ Docker ] 이미지 생성Docker 이미지 만들기는 크게 Dockerfile 작성해 해당 이미지 빌드 후 Docker Hub에 푸시의 과정으로 나눌 수 있음.mailserver이미지 만드는 예시로 ㄱㄱ 1. /root경로에 Dockerfile 생성# 베이스 이미지 지정dev-emma-dev.tistory.com    /etc/hosts에 harbor서버 등록하기  로그인하기docker login  이미지 목..

Chapter01/Docker 2024.10.08

[ SMTP 메일 전송 ] Could not convert socket to TLS

SMTP 서버 정보를 받고, 이메일 전송 테스트를 진행했다. 간단하게 컨트롤러만 만들어서 postman으로 날려봄 이런 상황이 발생했고, 이메일은 전송되지않음도메인 접속에 실패하고 ping도 안가는 상황,, ??????왜그랴 는 이제 찾아보자 써칭해본결과 PKIX path building failed 관련에러-> 서버의 인증서를 다운로드하여 키스토어에 추가해야한다? crt 파일을 만들어서 넣고 인증 어쩌구저쩌구 했으나 안됨 tls버전이 안맞는다?-> 보안문제로 기존에 지원하던 TLS버전이 지원중단되서 TLS버전이 1.0이나 1.1로 사용되는 경우가있다는것을알게됨 port문제?-> 예전에 사용했던거나 보안문제 등 여러가지 상황에 따라 25, 465, 587, 2525 등이 사용됨. 표준은..

[ Kubernetes ]MetalLB와 Ingress 사용해 배포하기

1. DeploymentDeployment는 애플리케이션의 배포와 관리를 위한 Kubernetes 리소스. 특정 수의 파드를 실행하고, 파드의 상태를 관리합.apiVersion: apps/v1 kind: Deployment metadata:   name: mailserver-deployment spec:   replicas: 1   selector:     matchLabels:       app: mailserver   template:     metadata:       labels:         app: mailserver     spec:       containers:       - name: mailserver         image: your-dockerhub-id/mymailserver..

[ Kubernetes ] MetalLB와 Ingress를 사용해 외부에서 접근 가능한 인프라 구축

▼ ▼ ▼ ▼ ▼ 이미지 생성 ▼ ▼ ▼ ▼https://dev-emma-dev.tistory.com/231 [ Docker ] 이미지 만들기Docker 이미지 만들기는 크게 Dockerfile 작성해 해당 이미지 빌드 후 Docker Hub에 푸시의 과정으로 나눌 수 있음.mailserver이미지 만드는 예시로 ㄱㄱ 1. /root경로에 Dockerfile 생성# 베이스 이미지 지정dev-emma-dev.tistory.com ▼ ▼ ▼ ▼ ▼ 배포 ▼ ▼ ▼ ▼https://dev-emma-dev.tistory.com/233 [ Kubernetes ]MetalLB와 Ingress 사용해 배포하기1. DeploymentDeployment는 애플리케이션의 배포와 관리를 위한 Kubernetes 리소스. 특..

[ Docker ] 이미지 생성

Docker 이미지 만들기는 크게 Dockerfile 작성해 해당 이미지 빌드 후 Docker Hub에 푸시의 과정으로 나눌 수 있음.mailserver이미지 만드는 예시로 ㄱㄱ 1. /root경로에 Dockerfile 생성# 베이스 이미지 지정 FROM ubuntu:20.04 # 필요한 패키지 설치 RUN apt-get update && \     DEBIAN_FRONTEND=noninteractive apt-get install -y \     postfix \     mailutils # postfix 메인 설정 파일 복사 COPY main.cf /etc/postfix/main.cf # postfix 데몬 실행 CMD service postfix start && tail -f /var/log/mai..

Chapter01/Docker 2024.09.30

[ Kubernetes ] .yaml로 Nginx Pod을 K8S cluster에 배포하기

두 가지 방식이 있음1.kubectl create deployment 명령어로 Deployment를 생성하기2. YAML파일로 kubectl apply 차이점은kubectl create deployment 명령어를 사용하면 deployment 리소스가 생성되어 deployment를 관리하는 Pod의 복제본을 유지해 Pod이 실패하는 경우 자동으로 새로운 Pod을 생성한다.YAML 파일로 생성한 것은 단일 Pod라서 Pod이 실패하면 자동으로 다시 생성되지 않아 새로운 Pod을 만들어야함. 그래서 복제본을 유지하거나 애플리케이션 가동 중단 없이 업데이트를 해야하는 경우라면 deployment 를 생성하는 방식이 유용하고,굳이 그렇지 않은 경우라면 간단하게 YAML을 만들어 생성,관리를 용이하게 하면된다관리..

에러모음_혼자기록한거

https://velog.io/@ghkdtlwns987/Kubernetes-%EC%BF%A0%EB%B2%84%EB%84%A4%ED%8B%B0%EC%8A%A4-%EC%97%90%EB%9F%AC [Kubernetes] 쿠버네티스 에러쿠버네티스 공부좀 하려고 하는데 무슨 에러가 이렇게 많이 나는지 모르겠다.다음에 또 설치할 때 헷갈릴까봐 정리함.아래 명령어 실행이렇게 했는데도 잘 안됀다?Master에서 실행Worker에서 이전velog.io https://it-hangil.tistory.com/59 쿠버네티스 클러스터 재구성(초기화)네트워크 대역이 변경돼서 kubeadm의 노드를 초기화 한후 다시 진행 하려면 마스터,컨트롤 플레인 노드에서 kubeadm reset cleanup-node 후 다시 설정 해주면 ..

[ Kubernetes ] 설치하기

네트워크설정    apt install net-tools    vi /etc/netplan/00-installer-config.yamlnetwork:  ethernets:    enp0s3:      dhcp4: no      dhcp6: false      addresses:       - 192.168.48.20/16      nameservers:        addresses: [8.8.8.8]      routes:        - to: default          via: 192.168.0.1  version: 2      netplan apply    호스트네임 변경    hostnamectl set-hostname master    hostname    vi /etc/hosts    1..

[cs지식] MSA

마이크로서비스 아키텍처 Microservices Architecture애플리케이션을 작은 단위의 독립적인 서비스들로 구성해 개발, 배포, 유지보수하는 소프트웨어 아키텍처 스타일로 서비스 간 통신은 주로 HTTP나 메시지 큐와 같은 경량 프로토콜을 통해 이루어짐! 장점각 서비스가 독립적으로 확장되고 다양한 기술 스택을 사용할 수 있어서 유연성과 확장성이 뛰어남.개발 및 배포 단계도 독립적으로 이루어지므로 신속한 시장 대응이 가능함.장애가 격리되어 시스템의 신뢰성과 가용성이 높아짐.서비스별로 코드 베이스가 작아 유지보수가 용이하고, 장애 시 다른 서비스에 영향을 미치지 않음.책임 소재가 명확함.