분류 전체보기
-
GitHub Action, ECR 과 ArgoCD를 이용하여 CI/CD 구축하기 ( k8s )Computer Science/k8s 2023. 8. 15. 01:15
1. GitHub Action을 이용하여 이미지를 빌드하고 ECR에 배포하기 1.1 Public ECR Repository 1.2 Private ECR Repository 2. ArgoCD 설치 및 배포 3. helm 파일 제작 및 GitHub Action으로 변경하기 전체 ci/cd 구조 1. GitHub Action을 이용하여 이미지를 빌드하고 ECR에 배포하기. 1.1 Public Repository Public Repository를 이용한다면 빌드하고 ECR에 배포할 때만 AWS 권한이 필요하다. AmazonElasticContainerRegistryPublicFullAccess 권한이 있는 IAM을 생성하여 GitHub Action에 Secret으로 등록해주자. GitHub Action yaml..
-
ArgoCD 설치 및 설정Computer Science/Argo 2023. 8. 15. 00:38
1. ArgoCD 설치 2. ArgoCD 설정 1. ArgoCD 설치하기 https://argo-cd.readthedocs.io/en/stable/getting_started/ Getting Started - Argo CD - Declarative GitOps CD for Kubernetes Getting Started Tip This guide assumes you have a grounding in the tools that Argo CD is based on. Please read understanding the basics to learn about these tools. Requirements Installed kubectl command-line tool. Have a kubeconfig fi..
-
HTTPS 통신의 원리 ( SSL/TLS )Computer Science 2023. 8. 4. 15:10
1. 대칭키 2. 공개키 ( 비대칭키 ) 3. HTTPS 통신 방식 1. 대칭키 암호화, 복호화에 사용하는 키가 동일한 암호화 방식을 의미한다. 대표적인 알고리즘으로는 DES ( Data Encryption Standard ), AES ( Advanced Encryption Standard ), SEED 등이 있다. 공개키 암호화 방식에 비해서 연산 속도 ( 암호화, 복호화 과정 ) 이 빠르다는 장점이 있으나 키 관리의 단점이 있다. 결국 키를 교환해야하고 이 과정에서 탈취가 생길 수 있으며 사용자가 증가 할 수록 관리해야하는 키가 방대하게 늘어난다. 2. 공개키 ( 비대칭키 ) 공개키 방식은 대칭키 방식에서 생기는 문제점인 키 교환 문제를 해결하기 위해 나왔다. 방식은 다음과 같다. 2.1. 수신자는 ..
-
로드 밸런서 ( Load Balancer )Computer Science 2023. 8. 1. 20:23
1. 로드 밸런서란 2. L2, L3 스위치와 L4, L7 로드 밸런서 3. 로드 밸런싱 알고리즘 1. 로드 밸런서 ( Load Balancer ) 란 네트워크 트래픽을 여러 대의 서버 또는 컴퓨터에 분산하여 처리하도록 하는 장치 또는 시스템 다음과 같은 이점을 가진다. - 부하 분산 : 트래픽을 여러 서버에 분산하여 각 서버의 부하를 균등하게 분담한다. 이로인해 특정 서버가 과도하게 부하가 집중되는 것을 방지한다. - 가용성 향상 : 여러 서버를 사용하기에 특정 서버의 장애 등이 발생해도 다른 서버들이 작업을 처리 할 수 있도록 한다. 이로인해 서버의 가용성과 내결함성을 향상시킨다. - 스케일링 : 트래픽 증가에 따라 서버를 증설하거나 제거하는 스케일 업/다운 을 쉽게 할 수 있다. 2. L2, L3 ..
-
kubeadm을 통한 kubernetes(1.27) EC2에 설치하기Computer Science/k8s 2023. 7. 31. 21:36
1. ec2 사양 정하기 2. 컨테이너 런타임 설치 ( containerd ) 2-1. containerd 설치 2-2. systemd 설정 2-3. runc 설치 2-4. CNI 설치 3. cgroup 드라이버 구성 4. iptables 설정 5. kubeadm 설치 6. Control Plane Node 생성 7. Addon 설치 8. Worker Node 생성 및 연동 공식 문서를 보고 따라서 설치해보자. https://kubernetes.io/ko/docs/setup/production-environment/tools/kubeadm/install-kubeadm/ kubeadm 설치하기 이 페이지에서는 kubeadm 툴박스 설치 방법을 보여준다. 이 설치 프로세스를 수행한 후 kubeadm으로 클러..
-
k8s 설치 방식 종류Computer Science/k8s 2023. 7. 28. 14:50
1. Minikube 2. kops 3. kubespray 4. kubeadm 5. EKS 등 PaaS 공식 홈페이지에서 말하는 kops vs kubespray & kubespray vs kubeadm https://github.com/kubernetes-sigs/kubespray/blob/master/docs/comparisons.md 1. Minikube Minikube는 로컬 환경에서 단일 노드의 k8s 클러스터를 간편하게 구성해준다. 주로 개발자들이 로컬에서 k8s를 테스트하고 개발하는데 사용된다. 가볍고 빠르지만 실제 운영환경에서 사용되지는 않는다. 2. kops https://kubernetes.io/ko/docs/setup/production-environment/tools/kops/ kOp..
-
프록시 서버 (Proxy Server)Computer Science 2023. 7. 20. 16:06
1. 프록시 서버란 2. 포워드 프록시 서버 3. 리버스 프록시 서버 1. 프록시 서버 (Proxy Server) 란 컴퓨터 네트워크에서 사용되는 중계 서버로 보통 클라이언트와 웹 서버 사이에 중개자 역할을 수행한다. 클라이언트의 요청을 대신 받아 서버에 전달하고, 서버의 응답을 클라이언트에 전달한다. 클라이언트의 IP 주소를 감추거나, 캐싱을 통한 웹 페이지 로딩 속도 향상 등을 꾀할수 있다. 2. 포워드 프록시 서버 웹 프록시라고도 불리며 클라이언트가 웹 브라우저를 통해 웹 페이지에 접근할 때 사용된다. 이를 통해 클라이언트의 익명성 보호, 콘텐츠 필터링, 캐싱 등의 기능을 제공한다. 회사에서는 포워드 프록시를 사용하여 인터넷 트래픽을 모니터링하고 로그를 남기는 등의 경우도 있다. 3. 리버스 프록시..
-
Servlet & DispatcherServletComputer Science/Spring boot 2023. 7. 18. 18:41
1. Servlet 이란 2. 서블릿 컨테이너의 역할 3. 프론트 컨트롤러 패턴과 Spring 에서 DispatcherServlet 1. Servlet이란 - Java 기반의 웹 애플리케이션 개발을 위한 서버 사이드 프로그래밍 기술로서 동적인 웹 컨텐츠를 생성하고 웹 요청을 처리하는 역할을 수행한다. 단순하게 이야기 해서 HTTP프로토콜 통신을 함에 있어 지켜야하는 규약 등을 쉽게 할 수 있도록 도와주는 Java API이다. 2. Servlet Container의 역할 - Servlet의 실행 환경을 제공하고, 서블릿의 라이프사이클 관리, 웹 애플리케이션의 실행을 담당하는 소프트웨어 컴포넌트. HTTP 요청이 들어온다면 해당 요청에 맞는 Servlet을 생성하고 관리한다. 요청이 들어올 때 마다 하나의..