Computer Science
-
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을 생성하고 관리한다. 요청이 들어올 때 마다 하나의..
-
Argo Workflow 도입하기Computer Science/Argo 2023. 7. 4. 15:09
1. k8s 환경에 Argo Workflow 설치하기 2. local에 argo 설치하기 ( argo 명령어 사용 ) 3. test 1. k8s 환경에 Argo Workflow 설치하기 https://github.com/argoproj/argo-workflows/releases Releases · argoproj/argo-workflows Workflow engine for Kubernetes. Contribute to argoproj/argo-workflows development by creating an account on GitHub. github.com 해당 Releases 에서 가장 최신 버전으로 진행하였다. 지금은 3.4.8이다. 위 링크에 진행 방법이 전부 기입되어있다. kubectl cr..
-
k8s Secret 적용 및 Containers 에서 사용하기Computer Science/k8s 2023. 6. 30. 19:52
k8s Secret 종류 1. Opaque 일반적인 key-value 형태의 Secret 이다. 데이터는 base64로 인코딩하여 등록하여야 하며 주로 패스워트, 토큰, 인증 정보 값들을 등록한다. 2. service-acount-token 클러스터 내에서 서비스 계정 인증에 사용되는 정보를 저장하기 위한 유형이다. ServiceAccount 마다 접근할 수 있는 권한, 토큰 등을 설정하게 된다. 3. tls TLS 인증서를 Secret으로 관리할 수 있다. 보통 Service가 가져와 https 통신을 한다. Opaque 예시 #secret.yaml apiVersion: v1 kind: Secret metadata: name: namespace: type: Opaque data: secret-key1:..