전체 글 139

그림으로 공부하는 TCP IP 구조 2장, 3장 요약

2장 반이중화 통신 (Half Duplex) 송신할 때와 수신할 때, 그 해당 통신 방향을 전환해서 사용하는 방식 패킷을 송신할 때는 패킷을 수신할 수 없으며, 패킷을 수신할 때는 송신할 수 없음 만일 같은 타이밍에 패킷이 양쪽 상대에게 송신되면 jam 이라는 특수한 비트 패턴을 송신하게 되며, jam 신호를 받은 단말은 각각 무작위 시간 동안 기다린 뒤 패킷을 전송을 재시도 한다(CSMA/CD, Carrier Sense Multiple Access with Collision Detection) 동시에 송수신이 불가능하여 10Gbps 이상의 프로토콜에서는 사용되지 않음 전이중화 통신 (Full Duplex) 송신용 전송로와 수신용 전송로를 별도로 준비하고, 송신과 수신을 동시에 수행하는 방식 CSMA/C..

네트워크 2024.01.15

그림으로 공부하는 TCP IP 구조 1장 요약

회선 교환 방식(circuit exchange method) - 데이터를 교환하기 전에 일대일의 전송로를 생성하고 교환을 마칠 때까지 전송로를 계속 사용하는 방식 - 일대일의 전송로를 사용하기 때문에 접속하는 동안에는 다른 사용자와 통신이 불가능( = 통화중) - 전화기의 통신 방식 - 안정적인 품질 유지 가능 - 데이터가 흐르지 않을 때에도 회선이 유지되기 때문에 회선 이용 효율이 낮아 데이터 교환에 적합한 통신 방식이 아니다. 패킷 교환 방식(packet exchange method) - 데이터를 패킷이라는 작은 단위로 나누어 네트워크로 보내는 방식 - 송신 측 컴퓨터는 데이터에 헤더라는 정보를 붙여 패킷 교환 네트워크로 패킷을 보냄 - 헤더에는 수신 컴퓨터 정보, 데이터 중 몇 번째에 해당되는 패킷..

네트워크 2024.01.15

[AWES] 6주차 - EKS Security

1. K8S 인증/인가 서비스 어카운트(Service Account) API 서버 사용 : kubectl(config, 다수 클러스터 관리 가능), 서비스 어카운트, https(x.509 Client Certs) API 서버 접근 과정 : 인증 → 인가 → Admission Control(API 요청 검증, 필요 시 변형 - 예. ResourceQuota, LimitRange) 인증(Authentication) X.509 Client Certs : kubeconfig 에 CA crt(발급 기관 인증서) , Client crt(클라이언트 인증서) , Client key(클라이언트 개인키) 를 통해 인증 kubectl : 여러 클러스터(kubeconfig)를 관리 가능 - contexts 에 클러스터와 유저..

[AWES] 5주차 - EKS Autoscaling

1) Horizontal Pod Autoscaling (HPA) - HPA는 스케일 인/아웃을 통해 파드 수를 늘리거나 줄이는 방법이다 - 쿠버네테스에서 설정한 메트릭에 따라 포드 수를 자동으로 조절한다. (예: CPU 사용률) - 애플리케이션의 부하가 일시적으로 높아질 때 유용 - 파드 수를 늘림으로써 처리량을 높일 수 있다. - 리소스 사용량이 증가할 수 있어 비용 효율성을 떨어뜨릴 수 있다. HPA 아키텍처 : cAdvisor 이 컨테이너의 메모리/CPU 수집 → metrics-server 는 kubelet 를 통해서 수집 후 apiserver 에 등록 → HPA는 apiserver(Resource API)를 통해서 15분 마다 메모리/CPU 수집하여 정책에 따라 동작 metrics.type(Res..

[AWES] 4주차 - EKS Observability

1. EKS Console - 쿠버네티스 API를 통해 리소스 정보 확인 가능 클러스터 ARN : arn:aws:eks:ap-northeast-2:662551666207:cluster/myeks (블로그 포스팅 시점엔 이미 제거 완료) 2. EKS Logging - Amazon Elastic Kubernetes Service (EKS)에서 로그 관리를 위해 제공되는 기능이다. EKS Logging의 세 가지 주요 구성 요소 1. Control Plane Logging 2. Node Logging 3. Application Logging Control Plane Logging - EKS 클러스터의 Kubernetes 컨트롤 플레인 구성 요소에서 생성되는 로그를 관리 - Kubernetes 컨트롤 플레인은 ..

[AWES] 3주차 - EKS Storage & Node 관리

1. 실습환경 배포 기존과 달라진 점은 "EFS 생성"이 추가된 cloudformation stack을 사용해야한다. -> https://s3.ap-northeast-2.amazonaws.com/cloudformation.cloudneta.net/K8S/eks-oneclick2.yaml 기타 파라미터 값은 이전 1주차, 2주차와 동일하기 때문에 생략하도록 하겠습니다. 기본 설정 및 EFS 확인 EFS를 마운트하고 정상적으로 마운트 되었는지(파일 생성 및 삭제 등) 확인합니다. 노드 Private IP 변수 설정 및 보안그룹 설정은 기존 1주차, 2주차와 동일합니다. AWS LB/ExternalDNS, kube-ops-view 설치 2. 쿠버네티스에서의 파드 스토리지 - 쿠버네티스에서 파드가 termina..

[AWES] 2주차 - EKS Networking

1. 사전 준비 2. 배포 확인 및 설정 # cloud-init 실행 과정 로그 확인 tail -f /var/log/cloud-init-output.log # cloud-init 정상 완료 후 eksctl 실행 과정 로그 확인 tail -f /root/create-eks.log # KUBECONFIG PATH 및 파일 확인 $ k get node -v=6 $ ls ~/.kube/config 변수 설정 # 워커 노드 IP를 변수로 설정 $ N1=$(kubectl get node --label-columns=topology.kubernetes.io/zone --selector=topology.kubernetes.io/zone=ap-northeast-2a -o jsonpath={.items[0].status...

[AWES] 1주차 - Amzaon EKS 설치 및 기본 사용

참여 소감 현재 자바, 파이썬 애플리케이션을 SCP(Samsung Cloud Platform)의 Kubernetes 환경으로 마이그레이션 업무를 하면서 Kubernetes를 다룰 수 있다는 것에 대체로 만족하고 있지만, 마이그레이션 업무 특성상 생각보다 Kubernetes를 깊게 다뤄보기는 어려웠습니다.(이미 구축된 클러스터/네임스페이스에 워크로드만 구성하기 때문에...) CKA 자격증을 준비할 때 VirtualBox에 개인적으로 K8S Cluster를 구축해보긴 했지만.. AWS와 같은 클라우드 환경에서 K8S를 제대로 다뤄보고 싶다는 마음이 항상 있었고 이번 스터디를 통해 차근차근 배워나가고자 합니다. 아쉽게도 개인 일정이 있어 1주차 스터디는 실시간으로 참여할 수는 없었습니다. 영상을 녹화해서 올려..

kubectl attach 와 kubectl exec 차이점 분석

쿠버네티스를 다루다보면 트러블 슈팅을 위해 pod에 직접 접근해야하는 경우가 발생한다. 이때 파드에 직접 접속하는 명령어는 다음 두 가지가 있다. kubectl attach kubectl exec 처음 두 명령어를 접하면 어떤 차이가 있는지 매우 햇갈리고, attach는 특히나 실제 사용 사례를 검색하여도 잘 찾아지지 않기 때문에 이번 글에서는 위 두 가지 명령어의 쓰임과 차이점에 대해 분석하고자 한다. kubectl attach attach의 설명을 구글링해보면 다음과 같이 나온다. Attach to a process that is already running inside an existing container. -> 공식 문서 The kubectl attach command is similar to ..

k8s 2023.02.06

[Helm 작성하기 (1)] Helm 차트 구조

헬름이란? 쿠버네티스 애플리케이션을 패키지 형태로 손쉽게 관리하는 도구 헬름 차트의 구조는 다음과 같다. mychart/ Chart.yaml values.yaml charts/ temlplate/ .... template/ 디렉토리는 템플릿 파일들이 들어있다.(deployment.yaml, service.yaml 등) values.yaml 는 차트의 기본값들을 가지고있는 파일이다. Chart.yaml 은 차트에 대한 설명을 포함하는 파일이다. 차트생성 다음 명령어로 간단하게 차트를 생성할 수 있다. $ helm create mychart mychart/templates/ 살펴보기 NOTES.txt : 차트의 도움말로 helm install 할 때 사용자에게 표시된다. deployment.yaml : 쿠버..

k8s 2023.02.03