본문 바로가기

study/KANS 3기

KANS 3기 4주차 K8S Service에 대해서 알아보겠습니다.1. ClusterIP요약 : 클라이언트(TestPod)가 'CLUSTER-IP' 접속 시 해당 노드의 iptables 룰(랜덤 분산)에 의해서 DNAT 처리가 되어 목적지(backend) 파드와 통신 1.클러스터 내부에서만 'CLUSTER-IP' 로 접근 가능 ⇒ 서비스에 DNS(도메인) 접속도 가능!2.서비스(ClusterIP 타입) 생성하게 되면, apiserver → (kubelet) → kube-proxy → iptables 에 rule(룰)이 생성됨3.모드 노드(마스터 포함)에 iptables rule 이 설정되므로, 파드에서 접속 시 해당 노드에 존재하는 iptables rule 에 의해서 분산 접속이 됨  실습목적지(backend) 파드(Pod).. 더보기
KANS 3기 3주차 두번째 Calico 네트워크 모드- Calico 는 다양한 네트워크 통신 방법(모드)를 제공합니다.- Calico 나 Cilium 에서 파드 혹은 네임스페이스의 레벨에서 IN/OUT 트래픽에 대한 통제가 가능합니다. Calico 라우팅 모드    Direct 모드파드 통신 패킷이 출발지 노드의 라우팅 정보를 보고 목적지 노드로 원본 패킷 그대로 전달합니다  클라우드 사업자 네트워크의 경우 NIC 에 매칭되지 않는 IP 패킷은 차단되니, NIC에 Source/Destination Check 기능을 Disable 해야 합니다 - 링크# AWS CLI 로 특정 인스턴스의 Source/Destination Check 기능을 Disable 하기aws ec2 modify-instance-attribute --instanc.. 더보기
KANS 3기 3주차 첫번째 .. 매번 스터디를 참여해왔지만 이렇게 매운 맛은 처음입니다....ㅠ그럼 바로 공유 시작하겠습니다!  Calico CNI 알아보기 Calico components - Docs  -데몬셋으로 각 노드에 calico-node 파드가 동작하여, 해당 파드에 bird, felix, confd 등이 동작 + Calico 컨트롤러 파드는 디플로이먼트로 생성# 버전 확인 - 링크## kdd 의미는 쿠버네티스 API 를 데이터저장소로 사용calicoctl version# calico 관련 정보 확인kubectl get daemonset -n kube-systemkubectl get pod -n kube-system -l k8s-app=calico-node -owidekubectl get deploy -n kube-sy.. 더보기
KANS 3기 3주차 실습환경 구축 실습환경 구축# YAML 파일 다운로드curl -O https://s3.ap-northeast-2.amazonaws.com/cloudformation.cloudneta.net/kans/kans-2w.yaml# CloudFormation 스택 배포# aws cloudformation deploy --template-file kans-2w.yaml --stack-name mylab --parameter-overrides KeyName= SgIngressSshCidr=/32 --region ap-northeast-2예시) aws cloudformation deploy --template-file kans-2w.yaml --stack-name mylab --parameter-overrides KeyName=kp.. 더보기
KANS 3기 2주차 두번째 Flannel CNIK8S 버전은 1.30.4 : CNI 는 flannel(v0.25.6) 쿠버네티스 네트워크 및 Flannel CNI 소개 - 링크  kind & Flannel 배포 - Docs Blog Github GitHub - flannel-io/cni-pluginContribute to flannel-io/cni-plugin development by creating an account on GitHub.github.com#cat kind-cni.yamlkind: ClusterapiVersion: kind.x-k8s.io/v1alpha4nodes:- role: control-plane labels: mynode: control-plane extraPortMappings: - cont.. 더보기
KANS 3기 2주차 첫번째 쿠버네티스Kubernetes Components : K8S 클러스터는 Controle Plane(마스터)와 Node(노드)로 구성 - 링크 마스터노드kube-apiserver : 마스터로 전달되는 모든 요청을 받아 드리는 API 서버 - (심화) 링크1 링크2 링크3etcd : 클러스터내 모든 메타 정보를 저장하는 서비스kube-scheduler : 사용자의 요청에 따라 적절하게 컨테이너를 워커 노드에 배치하는 스케줄러kube-controller-manager : 현재 상태와 바라는 상태를 지속적으로 확인하며 특정 이벤트에 따라 특정 동작을 수행하는 컨트롤러 - 링크cloud-controller-manager : 클라우드 플랫폼(AWS, GCP, Azure 등)에 특화된 리소스를 제어하는 클라우드 컨트롤.. 더보기
KANS 3기 1주차 두번째 도커 네트워크 모드기본 네트워크 모드 : Bridge, Host, None + 추가 네트워크 플러그인 : macvlan, ipvlan, overlaydocker network lsNETWORK ID NAME DRIVER SCOPE5d4ec64ed746 bridge bridge local71da3212e9dc host host local90a304de3e67 none null localdocker info | grep Network Network: bridge host ipvlan macvlan null overlay  2.1 BridgeBridge 모드 기본 정보 확인 도커에서 기본적으로 쓸 수 있는 네트워크 확인, 컨테이너.. 더보기
KANS 3기 1주차 첫번째 이번에도 어김없이 가시다님이 운영하시는 스터디에 참여하게 되었습니다.'Kubernetes Advanced Networking Study' 입니다. 그럼 첫 주차 공유 시작하겠습니다. 도커란?도커(Docker)는 가상실행 환경을 제공해주는 오픈소스 플랫폼입니다. 도커에서는 이 가상실행 환경을 '컨테이너(Container)'라고 부릅니다.- 좀 더 정확히 표현하는 용어는 '컨테이너화된 프로세스(Containerized Process)' 이다- 도커 플랫폼이 설치된 곳이라면 컨테이너로 묶인 애플리케이션을 어디서든 실행할 수 있는 장점을 가집니다. 아키텍처  도커 설치 및 확인# [터미널1] 관리자 전환sudo su -whoamiid# 도커 설치curl -fsSL https://get.docker.com | s.. 더보기