본문 바로가기

분류 전체보기

(150)
Kubernetes 정리 211: CNI weave 이 강의에서 우리는 CNI, 특히를 기반으로 한 하나의 솔루션에 대해 논의할 것입니다. Weaveworks는 CNI 플러그인과 함께 작동합니다. 이전 연습 테스트에서는 구성 방식을 확인했습니다. 이제 우리는 그것이 어떻게 작동하는지에 대해 더 자세히 볼 것입니다. 파드 네트워킹 개념 섹션에서 우리가 중단한 부분부터 시작하겠습니다. 우리는 자체적으로 CNI 스크립트를 구축하고 CNI를 통해 kubelet에 통합했습니다. 이전 강의에서는 자체 custom 스크립트 대신 플러그인을 통합하는 방법을 보았습니다. 이제 Weave 솔루션이 어떻게 작동하는지 알아보겠습니다. 하나 이상의 솔루션을 잘 이해하는 것이 중요하기 때문입니다. 그러면 이 문제를 다른 솔루션과도 연결할 수 있습니다. 따라서 수동으로 설정한 네트..
Kubernetes 정리 210: CNI in kubernetes 1. Configuring CNI 쿠버네티스가 사용할 CNI 플러그인을 어디에 지정해야 할까? 컨테이너를 생성한 후 해당 컴포넌트가 적절한 네트워크 플러그인을 호출해야 하므로 컨테이너 생성을 담당하는 Kubernetes 내의 컴포넌트에서 CNI 플러그인을 호출해야 합니다. CNI 플러그인은 클러스터의 각 노드에 있는 kubelet.service에서 구성됩니다. 파일을 보면 네트워크 플러그인이라는 옵션이 CNI로 설정된 것을 볼 수 있습니다. 2. View Kublet Options 실행중인 kubelet.service를 보아도 동일한 정보를 볼 수 있습니다. 네트워크 플러그인이 CNI로 설정되어 있고 CNI bin 디렉토리 및 CNI conflict 디렉토리와 같이 CNI와 관련된 몇 가지 다른 옵션을 ..
Kubernetes 정리 206: Important Note about CNI and CKA Exam Kubernetes 클러스터에 네트워크 추가 기능을 배포하는 데 대한 중요한 팁입니다. 다음 실습에서는 Network Addons와 함께 작업할 예정입니다. 여기에는 클러스터에 네트워크 플러그인을 설치하는 작업이 포함됩니다. 위브넷을 예로 들 수 있지만 여기에 설명된 플러그인을 사용할 수 있습니다: https://kubernetes.io/docs/concepts/cluster-administration/addons/ https://kubernetes.io/docs/concepts/cluster-administration/networking/#how-to-implement-the-kubernetes-networking-model Cluster Networking Networking is a central ..
Kubernetes 정리 205: Cluster Networking 1. IP & FQDN 각 노드에는 네트워크에 연결된 인터페이스가 하나 이상 있어야 합니다. 각 인터페이스에는 주소가 있어야 합니다. 호스트에는 고유한 호스트 이름 집합과 고유한 MAC 주소가 있어야 합니다. 특히 기존 VM에서 replication하여 VM을 생성한 경우에는 이 점에 유의해야 합니다. 2. Ports 몇 개의 포트도 열려야 합니다. 이들은 controlplane의 다양한 컴포넌트에 의해 사용됩니다. 마스터는 API 서버에 대해 6443의 연결을 허용해야 합니다. 워커 노드, Kube 제어 도구, 외부 사용자 및 기타 모든 제어부 config요소는 이 포트를 통해 Kube API 서버에 액세스합니다. 마스터 및 워커 노드의 큐블릿은 포트 10250에서 수신합니다. 네, 이에 대해 논의하지..
Kubernetes 정리 204: Prerequisite - CNI Rocket이나 Mesos Container와 같이 컨테이너와 함께 작동하고 Kubernetes와 같이 컨테이너 간의 네트워킹을 구성해야 하는 다른 솔루션들도 마찬가지입니다. 모두가 사소한 차이를 가지고 유사한 접근 방식을 연구하고 최종적으로 식별함으로써 동일한 네트워킹 문제를 해결하려고 한다면, 왜 동일한 솔루션을 여러 번 코딩하고 개발할까요? 모두가 따를 수 있는 단일 표준 접근 방식을 만들어 보는 것은 어떨까요? 그래서 우리는 이 모든 아이디어를 다른 솔루션에서 가져와 그것의 모든 네트워킹 부분을 하나의 프로그램이나 코드로 옮깁니다. 그리고 이것이 브리지 네트워크를 위한 것이기 때문에, 우리는 그것을 브리지라고 부릅니다. 그래서 우리는 컨테이너를 브리지 네트워크에 연결하기 위해 필요한 모든 작업을 ..
Kubernetes 정리 203: Prerequisite - Docker Networking Docker가 설치된 서버인 단일 Docker 호스트부터 시작해 보겠습니다. eth0에 IP 주소 192.168.1.10으로 로컬 네트워크에 연결하는 인터넷 인터페이스가 있습니다. 컨테이너를 실행할 때 선택할 수 있는 네트워킹 옵션이 다릅니다. 먼저, none 네트워크를 살펴보겠습니다. 네트워크가 none인 경우 도커 컨테이너는 네트워크에 연결되지 않습니다. 컨테이너는 외부 세계에 도달할 수 없고, 외부 세계의 누구도 컨테이너에 도달할 수 없습니다. 여러 컨테이너에 있는 경우 네트워크의 일부가 되지 않고 모두 생성되어 서로 또는 외부와 통신할 수 없습니다. 다음은 호스트 네트워크입니다. 호스트 네트워크를 사용하면 컨테이너가 호스트 네트워크에 연결됩니다. 호스트와 컨테이너 간에는 네트워크 분리가 없습니다...
Kubernetes 정리 202: FAQ 네트워크 네임스페이스를 테스트하는 동안 하나의 네임스페이스를 다른 네임스페이스에서 ping할 수 없는 문제가 발생하는 경우 IP 주소를 설정하는 동안 NETMASK를 설정해야 합니다. i: 192.168.1.10/24 ip -n red addr add 192.168.1.10/24 dev veth-red 방화벽 D/IP 테이블 규칙도 확인해야 합니다. 한 네임스페이스에서 다른 네임스페이스로 트래픽을 허용하려면 IP 테이블에 규칙을 추가하십시오. 또는 IP 테이블을 모두 비활성화합니다(학습 환경에서만).
Kubernetes 정리 201: Prerequisite - Network Namespaces 1. Process Namespace 그렇다면 네임스페이스란 무엇인가요? 호스트가 집이라면 네임스페이스는 각 자녀에게 할당하는 집 안의 방입니다. 이 방은 각 어린이에게 프라이버시를 제공하는 데 도움이 됩니다. 각 어린이는 자신의 방 안에 있는 것만 볼 수 있고 방 밖에서 일어나는 일은 볼 수 없습니다. 그 방만 생각한다면, 그들은 집에 사는 유일한 사람입니다. 그러나 부모는 집안의 모든 방과 집안의 다른 영역을 볼 수 있습니다. 원하는 경우 집안의 두 방을 연결할 수 있습니다. 컨테이너를 생성할 때 컨테이너가 격리되어 있는지 확인하고 호스트의 다른 프로세스나 다른 컨테이너를 볼 수 없도록 해야 합니다. 그래서 네임스페이스를 사용하여 호스트에 특별한 공간을 만듭니다. 컨테이너 안에서는 컨테이너는 자신이 ..
Kubernetes 정리 200: Prerequisite - CoreDNS 이전 강의에서는 DNS 서버가 왜 필요한지, 호스트 이름과 Ips가 많은 대규모 환경에서 DNS 서버가 이름 확인을 관리하는 데 어떻게 도움이 되는지, DNS 서버를 가리키도록 호스트를 구성하는 방법에 대해 살펴 보았습니다. 이 문서에서는 호스트를 DNS 서버로 구성하는 방법에 대해 설명합니다. DNS 서버 전용 서버와 서버의 항목으로 구성할 Ips 세트가 제공됩니다. 여기에는 많은 DNS 서버 솔루션이 있습니다. 이 강의에서는 CoreDNS라는 특정 솔루션에 초점을 맞출 것입니다. 그러면 어떻게 코어 DNS를 얻을 수 있을까요? 코어 DNS 바이너리는 Github 릴리스 페이지에서 다운로드하거나 도커 이미지로 다운로드할 수 있습니다. 전통적인 길로 갑시다. curl 또는 wget을 사용하여 이진 파일을..
Kubernetes 정리 199: Prerequisite - DNS 1. Name Resolution 동일한 네트워크에 속하는 두 대의 컴퓨터 A와 B가 있으며 IP 주소 192.168.1.10 및 1.11이 할당되었습니다. 다른 컴퓨터의 IP 주소를 사용하여 다른 컴퓨터에서 한 컴퓨터를 ping할 수 있습니다. 시스템 B에 데이터베이스 서비스가 있다는 것을 알고 있으므로, 시스템 B의 IP 주소를 기억하는 대신 이름을 db로 지정하기로 결정합니다. 앞으로는 IP 주소 대신 이름 db를 사용하여 시스템 B를 ping하려고 합니다. 지금 db에 ping을 시도하면 호스트 A가 db라는 호스트를 인식하지 못하는 것을 볼 수 있습니다. 어떻게 고칠 수 있을까요? 기본적으로 시스템 A에게 IP 주소 192.168.1.11의 시스템 B에 DB라는 이름이 있다고 알려야 합니다. 시..