본문 바로가기

반응형

혼자하는 프로젝트

(30)
Jenkins 을 활용하여 Spring boot 를 자동배포 하기(1) # 구성도 # 사전 준비사항 본인것이거나, 권한을 가지고 있는 GitHub repository에 올라간 Spring Boot 프로젝트 2021.11.21 - [JAVA/Spring] - IntelliJ와 GitHub 연동하기 IntelliJ와 GitHub 연동하기 - 일단 스프링 부트 프로젝트를 생성하기 위해 스프링 이니셜라이저 사이트로 이동한다. https://start.spring.io/ 아래와같이 서정하고 제너레이터를 클릭하여 파일을 다운받는다. - 인텔리J를 실행시 may9noy.tistory.com 1. 도커와 Jenkins을 설치하기 2021.11.17 - [CI | CD/Jenkins] - Jenkins 설치 Jenkins 설치 # Jenkins을 설치하는 과정에 대해서 알아보자. Jenki..
Docker 컨테이너를 Nodeport를 이용하여 구현하기 # 외부로 서비스하는 방법들과 노드포트 NodePort: 노드의 자체 포트를 사용하여 포드로 리다이렉션 LoadBalancer: 외부 게이트웨이를 사용해 노드 포트로 리다이렉션 Ingress: 하나의 IP 주소를 통해 여러 서비스를 제공하는 특별한 메커니즘 # 노드포트 생성하기 port: 80 # 서비스의 포트 (브라우저 서비스 시 서비스 포트) targetPort: 8080 # 포드의 포트 (deployment 생성 시 포트) nodePort: 30001 # 최종적으로 서비스되는 포트 - 간단한 개념 : 노드 - svc - 포드 1. yaml 파일 생성 k8s-master-node@k8smasternode-Virtual-Machine:~/yaml$ vi http-go-nodeport.yaml - 코드 ..
노드포트(nodeport)를 활용한 nginx 웹서버 구현 - 클라우드 환경에서는 클라우드 환경의 loadbalancer를 통해 서비스들의 부하분산 구현이 가능하다. - 단일환경 및 로컬환경에서는 loadbalancer구현이 쉽지 않으므로, nodeport를 통해 서비스를 구현해 보자. - 노드포트를 통해 연결된 서비스가 3개라면 로드밸런싱이 자동으로 구현된다. 노드포트란? NodePort 서비스는 Service를 만들어 외부에서 접속 가능한 Port 번호를 지정하여 서비스를 연결하고, 내부의 Pod은 Label Selector로 port를 지정, Target Port 번호를 정의하는 것이다. 말이좀 어려운데 잘 정리된 그림이 있어서 참조하며 설명 하겠다. 한마디로 외부에서 접근 가능한 port를 지정해주어 서비스를 가능하게 해주겠다는 이야기이다. pod 자체는..
Cloud9 + EKS + Wordpress 구성하기 1. Cloud9 환경구성 2021.10.03 - [AWS/Cloud9] - Cloud9 생성 및 터미널 접속 Cloud9 생성 및 터미널 접속 - cloud9을 검색하여 새로운 환경을 만든다. - 이름과 간단한 설명을 입력 후 다음으로 넘어간다. - 아래 구성과 유사하게 세팅한다. - 생성되고 있는 모습. - 생성이 완료되고 터미널이 활성화된 모 may9noy.tistory.com - 구성된 Cloud9 환경에서 SSH를 접속하여 쿠버네테스를 설치하자. 2. Kubernetes Tools 설치 1) kubectl 설치 sudo curl --silent --location -o /usr/local/bin/kubectl \ https://amazon-eks.s3.us-west-2.amazonaws.com/..
워커노드(worker node)를 추가해보자 - 지금까지 마스터 노드, 워커노드1 을 생성하여 클러스터링을 하였다. 이제 워커노드2를 구축하여 노드하나를 더 추가하는 작업을 해보자. 1. EC2 생성하기 - AWS CLI 를 통해서 워커노드 2번을 생성하자 export WORKER_INSTANCE_ID=$(aws ec2 run-instances \ --associate-public-ip-address \ --image-id ami-0ba5cd124d7a79612 \ --count 1 \ --key-name k8s \ --security-group-ids sg-02e2492684d84f429 \ --instance-type t2.micro \ --private-ip-address 10.1.1.30 \ --user-data "name=worker" \..
AWS 에서 쿠버네티스 클러스터링 구현 구성 환경 - AWS 우분투 20.04버전 - 인스턴스 타입 : t2.micro 쿠버네티스 클러스터 아키텍처 쿠버네티스 클러스터는 컨트롤 플레인(Control plane) 부분을 담당하는 마스터 노드와 애플리케이션 파드(POD)가 실행되는 워커 노드로 구성된다. 컨트롤 플레인 컴포넌트 (Control plane component) 쿠버네티스 클러스터의 두뇌 역할을 하며 컨테이너 스케줄링, 서비스 관리, API 요청 처리등의 작업을 수행한다. 컨트롤 플레인에 해당하는 컴포넌트들은 마스터 노드에서 실행된다. #kube-apiserver K8S API를 노출하는 컨트롤 플레인의 프론트엔드 수평 확장 가능 etcd 클러스터의 모든 데이터를 보관하는 일관성, 고가용성을 보장하는 키-값 저장소 어떤 노드가 존재하고..
AWS 에서 쿠버네티스 마스터 노드와 Worker 노드 생성 및 연결 1. AWS CLI 연결하기 2. VPC 생성하기 SSH로 연결하고 해당 정보를 확인한다. aws ec2 describe-vpcs VPC 이름과 IPv4 CIDR 블록은 필수이고, CIDR 블록 범위는 사설망 대역에서 선택하자. 아래 명령어는 AWS CLI(aws)로 VPC를 생성한 결과에 포함된 VpcId값을 쿼리한 후 바로 Bash 변수로 담는 표현이다. 다른 명령어을 실행할 때 참조할 값들을 미리 변수에 담아두면 편리하다. export VPC_ID=$(aws ec2 create-vpc \ --cidr-block 10.1.1.0/24 \ --output text \ --query 'Vpc.VpcId') echo ${VPC_ID} vpc-04deb5d4a19daf921 - 생성한 VPC에 Name태그를..
2. 워드프레스 Docker 이미지 생성 및 쿠버네티스 설치 1. 도커와 쿠버네티스 설치 2021.09.04 - [Kubernetes & Docker/Kubernetes (쿠버네티스)] - Docker와 kubeadm 설치 Docker와 kubeadm 설치 # docker와 kubeadm 설치 # 버추어 박스에 ubuntu 이미지를 불러온다. apt install curl sudo apt update E: /var/lib/apt/lists/lock 잠금 파일을 얻을 수 없습니다 - open (11: 자원이 일시적으로 사용 불가능함.. may9noy.tistory.com 2. 워드 프레스 Docker 이미지 생성 2021.09.04 - [Kubernetes & Docker/Docker (도커)] - 워드프레스 도커 이미지 만들기 워드프레스 도커 이미지 만들기 # 워..

728x90
반응형