728x90 스터디 이야기/Kubernetes Advanced Networking Study17 [KANS] 컨테이너 네트워크 더보기이 스터디는 CloudNet@에서 진행하는 KANS 스터디를 참여하면서 공부하는 내용을 기록하는 블로그 포스팅입니다.CloudNet@에서 제공해주는 자료들을 바탕으로 작성되었습니다.컨테이너 네트워크컨테이너는 네트워크 네임스페이스로 Host와 컨테이너간의 네트워크 격리 환경이 구성됩니다. 이때, 리눅스에서 방화벽 기능을 하는 iptable이 Host와 Container간의 통신에 관여합니다. RED BLUE 네트워크 네임스페이스간 통신네트워크 네임스페이스 생성 시 Host와 구별됩니다. 실습관리자 권한으로 전환sudo su - veth (가상 이더넷 디바이스) 생성ip link add veth0 type veth peer name veth1ip link 명령어를 통해 리눅스에서 가상 이더넷 페어(V.. 2024. 9. 13. [KANS] Kubernetes Flannel CNI 더보기이 스터디는 CloudNet@에서 진행하는 KANS 스터디를 참여하면서 공부하는 내용을 기록하는 블로그 포스팅입니다.CloudNet@에서 제공해주는 자료들을 바탕으로 작성되었습니다.Flannel CNI 쿠버네티스 네트워킹쿠버네티스 네트워크 모델의 요구 사항쿠버네티스 네트워크 모델은 4가지의 요구 사항이 있습니다. 1. Pod와 Pod간 통신 시 NAT없이 통신이 가능해야 합니다.2. Node의 Agent(kubelet, system daemon등)는 Pod와 통신이 가능해야 합니다.3. Host 네트워크를 사용하는 Pod는 Nat없이 Pod와 통신이 가능해야 합니다.4. 서비스 Cluster IP 대역과 Pod가 사용하는 IP 대역은 중복되지 않아야 합니다. 쿠버네티스 네트워크 모델의 해결 사항또한.. 2024. 9. 8. [KANS] Pod - pause container 더보기이 스터디는 CloudNet@에서 진행하는 KANS 스터디를 참여하면서 공부하는 내용을 기록하는 블로그 포스팅입니다.CloudNet@에서 제공해주는 자료들을 바탕으로 작성되었습니다. Podpod란?https://kubernetes.io/docs/concepts/workloads/pods/ PodsPods are the smallest deployable units of computing that you can create and manage in Kubernetes. A Pod (as in a pod of whales or pea pod) is a group of one or more containers, with shared storage and network resources, and a spe.. 2024. 9. 5. [KANS] Docker In Docker - Kind 더보기이 스터디는 CloudNet@에서 진행하는 KANS 스터디를 참여하면서 공부하는 내용을 기록하는 블로그 포스팅입니다.CloudNet@에서 제공해주는 자료들을 바탕으로 작성되었습니다. Kind kind(Kubernetes in Docker)는 Docker Conatainer "Node"를 사용하여 Local 환경에 Kubernetes Cluster를 실행하는 도구입니다. 이때, kubeadm을 사용하여 Cluster Node를 구성합니다. 또한, Kubernetes를 테스트 해야 할 때 사용하기에 적절하며, 특히 multi-node를 지원하기 때문에 HA등을 테스트할 수 있습니다.Host의 Docker안에 Node Container역할을 하는 Docker를 또 띄어서 구성합니다. 하지만 Host에.. 2024. 9. 5. [KANS] 컨테이너 격리 - 3.Cgroup(Control Group) 더보기이 스터디는 CloudNet@에서 진행하는 KANS 스터디를 참여하면서 공부하는 내용을 기록하는 블로그 포스팅입니다.CloudNet@에서 제공해주는 자료들을 바탕으로 작성되었습니다. 컨테이너 격리이전 글(pivot_root, namespace)을 통해 컨테이너를 논리적으로 격리하는 방법에 대해 실습을 통해 알아보았습니다. 그렇다면 컨테이너 환경에서 자원에 대한 격리는 어떻게 이루어질까요? 바로 리눅스 커널의 기능 중 cgroup을 통해 자원을 격리합니다. CgroupCgroup(control group)은 리눅스 커널의 기능으로, 프로세스 그룹에 대한 자원 할당을 관리하고 제어할 수 있는 메커니즘입니다. 즉, 프로세스가 사용하는 CPU, 메모리, 디스크 I/O, 네트워크 대역폭 등의 시스템 자원을 .. 2024. 8. 30. [KANS] 컨테이너 격리 - 2. namespace 더보기이 스터디는 CloudNet@에서 진행하는 KANS 스터디를 참여하면서 공부하는 내용을 기록하는 블로그 포스팅입니다.CloudNet@에서 제공해주는 자료들을 바탕으로 작성되었습니다. 이전 글에 이어서 작성된 게시글입니다. 컨테이너 격리이전에 살펴봤던 pivot_root, mount namespace를 통해 격리된 filesystem 환경을 실습해보았습니다. 그런데 그것들이 컨테이너라고 한다면 컨테이너에서 host의 다른 프로세스들이 보이거나, 컨테이너에 root 권한이 있거나.. 하는 문제점이 보여집니다. namespace그래서 프로세스 자체에 격리된 환경을 제공하는 namespace라는 메커니즘이 등장합니다. 리눅스의 커널을 사용하여 동작하며 모든 프로세스는 타입별로 네임스페이스에 속하고, 자식 .. 2024. 8. 29. [KANS] 컨테이너 격리 - 1. chroot, pivot_root, mount namespace 더보기이 스터디는 CloudNet@에서 진행하는 KANS 스터디를 참여하면서 공부하는 내용을 기록하는 블로그 포스팅입니다.CloudNet@에서 제공해주는 자료들을 바탕으로 작성되었습니다. 컨테이너 격리컨테이너 격리의 역사chrootchroot는 change root의 약자의 명령어입니다. 특정 프로세스와 그 하위 프로세스들의 루트 디렉터리(/)를 시스템의 다른 디렉터리로 변경하는 기능을 제공합니다. 다시말해 user 디렉터리를 user 프로세스에게 최상위 디렉토리인 root 디렉터리를 속여서 접근이 가능하도록 합니다. (탈옥이 가능하여 현재는 사용하지 않습니다.)즉, chroot는 경로를 모아서 패키징하고 새로운 경로에 가둬서 실행(격리)하는 명령어입니다.chroot 실습 - sh, ls해당 실습은 터미.. 2024. 8. 29. [KANS] Container와 Docker 더보기이 스터디는 CloudNet@에서 진행하는 KANS 스터디를 참여하면서 공부하는 내용을 기록하는 블로그 포스팅입니다.CloudNet@에서 제공해주는 자료들을 바탕으로 작성되었습니다. 도커도커란? 도커(Docker)는 소프트웨어를 구동시키기 위한 가상 실행 환경을 제공해주는 오픈 소스 플랫폼입니다. 도커에서는 이 가상실행 환경을 '컨테이너(Container)'라고 부릅니다. 조금 더 정확히 표현하는 용어는 '컨테이너화된 프로세스(Containerized Process)' 입니다.이 컨테이너는 애플리케이션과 애플리케이션에 필요한 모든 종속성을 포함하며, 호스트 운영체제와 독립적으로 실행될 수 있습니다. 이를 통해 개발자는 코드가 어떤 환경에서도 일관되게 동작할 수 있도록 보장할 수 있습니다. 즉, .. 2024. 8. 28. 이전 1 2 다음 728x90