티스토리

개발 일기
검색하기

블로그 홈

개발 일기

bigseok.tistory.com/m

개발 일기

구독자
0
방명록 방문하기

주요 글 목록

  • Kubernetes 서비스 어카운트 토큰 Kubernetes에서 서비스 어카운트란?Kubernetes에서 서비스 어카운트(Service Account)는 클러스터 내의 애플리케이션이 Kubernetes API 서버와 상호작용할 수 있도록 인증 정보를 제공하는 역할을 함보통 사용자가 직접 API 서버와 상호작용하기 위해 사용자 계정(User Account)을 사용하는 것과는 달리, 서비스 어카운트는 애플리케이션(즉, 파드)이 API 서버와 통신할 수 있도록 만들어진 특수한 계정임Kubernetes 클러스터 내에서 파드가 실행 중일 때, 이 파드가 클러스터의 상태를 모니터링하거나 다른 리소스에 접근하기 위해서는 Kubernetes API 서버에 인증된 요청을 보내야 함이를 가능하게 하는 것이 바로 서비스 어카운트 토큰(serviceAccountTo.. 공감수 3 댓글수 1 2024. 9. 14.
  • Kubernetes serviceAccount와 RBAC 이해하기 Kubernetes 클러스터에서 애플리케이션의 보안을 유지하고, 다양한 리소스에 대한 접근을 제어하는 것은 매우 중요함이를 위해 Kubernetes는 RBAC(Role-Based Access Control)와 ServiceAccount를 제공하여, 클러스터 내에서의 접근 권한을 체계적으로 관리할 수 있음Kubernetes RBAC(Role-Based Access Control)란?Kubernetes의 RBAC는 사용자나 서비스가 클러스터 내에서 어떤 리소스에 접근하고, 어떤 동작을 수행할 수 있는지를 제어하는 메커니즘임RBAC를 통해 특정 리소스에 대해 읽기, 쓰기 등의 권한을 세밀하게 설정할 수 있음RBAC는 Role, ClusterRole, RoleBinding, ClusterRoleBinding으로.. 공감수 0 댓글수 0 2024. 9. 13.
  • 쿠버네티스 네트워크 - 5. service ↔ external 네트워크 service ↔ external 네트워크외부 트래픽이 LoadBalancer, NodePort, Ingress 등을 통해 쿠버네티스 클러스터에 진입함각 노드(Node A, Node B)는 호스트 네트워크 네임스페이스를 가지며, 여기에는 호스트 네트워크 인터페이스 카드(NIC)인 eth0가 있음kube-proxy는 iptables/IPVS를 이용하여 네트워크 트래픽을 관리함cni0 브릿지를 통해 veth0, veth1 등의 가상 이더넷 인터페이스가 연결됨각 파드(Pod)는 자신만의 네트워크 네임스페이스를 가지며, pause 컨테이너를 통해 다른 컨테이너들과 연결됨쿠버네티스 애플리케이션을 외부 네트워크에 노출하는 방법Service쿠버네티스의 서비스(Service)는 NodePort를 설정하거나, 여러 파드.. 공감수 0 댓글수 0 2024. 7. 7.
  • 쿠버네티스 네트워크 - 5. pod ↔ service 네트워크 서비스의 필요성pod는 수요에 따라 확장 또는 축소해야 할 수 있고, 애플리케이션 충돌이나 노드 장애가 발생할 경우 다시 생성되기 때문에 매우 동적임이러한 이벤트로 인해 pod의 IP 주소가 변경되면 네트워킹이 어려워질 수 있음쿠버네티스는 Service를 사용하여 이 문제를 해결함서비스와 연관된 백엔드 Pod를 연결하기 위해 앞단에 정적 가상 IP 주소를 할당서비스는 pod의 ip주소를 추적서비스는 서비스IP로 전송된 모든 트래픽을 뒷단 pod 세트로 부하 분산Pod IP 주소가 변경되더라도 클라이언트는 서비스 자체의 정적인 가상 IP 주소로만 직접 연결하기 때문에 Pod에 연결하는 데 아무런 문제가 없음서비스의 구성 요소Service 객체Service는 Kubernetes 리소스로, API 서버에 정의.. 공감수 0 댓글수 0 2024. 7. 7.
  • 쿠버네티스 네트워크 - 4. 노드 내의 pod ↔ pod 네트워크 네트워크 네임스페이스Host Network Namespace:eth0 (Host NIC): 호스트 시스템의 물리적 네트워크 인터페이스로, 외부 네트워크와 통신함kube-proxy:Kubernetes 컴포넌트로, 클러스터 내의 네트워크 프록시 역할을 수행함iptables 또는 IPVS를 사용하여 클러스터 내의 서비스 트래픽을 적절한 Pod로 라우팅함cni0 (bridge): 호스트 네트워크 네임스페이스에서 사용하는 가상 브리지로, 쿠버네티스 CNI (Container Network Interface) 플러그인에 의해 생성됨. 여러 포드 네트워크 네임스페이스를 연결하는 역할을 함veth0 (veth): 호스트 네트워크 네임스페이스와 포드 네트워크 네임스페이스를 연결하는 가상 이더넷 인터페이스 페어의 한 쪽 .. 공감수 0 댓글수 0 2024. 7. 7.
  • 쿠버네티스 네트워크 - 3. 쿠버네티스 pod 내부 컨테이너 네트워킹 pod는 동일한 호스트에 배치된 하나 이상의 컨테이너로 구성되며, 네트워크 스택 및 볼륨과 같은 리소스를 공유하도록 구성된다“네트워크 스택 공유”는 pod의 모든 컨테이너가 localhost를 통해 서로 연결될 수 있음을 의미한다네트워크 네임스페이스Host Network Namespace:eth0 (Host NIC): 호스트 시스템의 물리적 네트워크 인터페이스로, 외부 네트워크와 통신함kube-proxy:Kubernetes 컴포넌트로, 클러스터 내의 네트워크 프록시 역할을 수행함iptables 또는 IPVS를 사용하여 클러스터 내의 서비스 트래픽을 적절한 Pod로 라우팅함cni0 (bridge): 호스트 네트워크 네임스페이스에서 사용하는 가상 브리지로, 쿠버네티스 CNI (Container Network.. 공감수 0 댓글수 0 2024. 7. 7.
  • 쿠버네티스 네트워크 - 2. 일반 도커 컨테이너 네트워킹 일반 도커 컨테이너 네트워킹이 구조는 Docker 컨테이너가 서로 독립적으로 실행되면서도 네트워크 통신이 가능하게 하여, 유연한 애플리케이션 배포와 스케일링을 지원함네트워크 네임스페이스호스트 네트워크 네임스페이스호스트 네트워크 네임스페이스는 기본적으로 호스트 운영체제에서 사용하는 네트워크 스택을 의미모든 호스트의 네트워크 설정 및 트래픽은 이 네임스페이스를 통해 관리됨이 네임스페이스는 물리적 네트워크 인터페이스(eth0)와 가상 브리지 네트워크(docker0)를 포함eth0 이란?호스트 머신이 외부 네트워크와 통신할 수 있게 해줌운영 체제는 여러 개의 NIC를 가질 수 있으며, 이를 구분하기 위해 각각의 인터페이스에 eth0, eth1 등의 이름을 부여함eth0는 물리적인 첫 번째 네트워크 인터페이스 카.. 공감수 0 댓글수 0 2024. 7. 7.
  • 쿠버네티스 네트워크 - 1. CNI CNI란?CNI(Container Network Interface)는 컨테이너 네트워킹을 위한 표준 인터페이스를 정의하는 프로젝트CNI는 컨테이너 네트워크 인터페이스를 쉽게 확장하고 맞춤화할 수 있게 해주며, 다양한 네트워킹 솔루션과 통합 가능함CNI는 표준일 뿐, 특정 서비스에 적용하기 위해서는 인터페이스를 구체화하여 서비스에 맞춰 적용해야 함이를 위해 컨테이너 관리 시스템에서 네트워킹 구성 및 관리를 위한 플러그인 기반의 다양한 프레임워크가 있음kubernetes Network Plugin (CNI plugin)네트워크 모델은 각 노드의 컨테이너 런타임에 의해 구현됨가장 일반적인 컨테이너 런타임은 컨테이너 네트워크 인터페이스(CNI) 플러그인을 사용하여 네트워크 및 보안 기능을 관리함Network P.. 공감수 0 댓글수 0 2024. 7. 7.
  • Multi-container pod 패턴 멀티-컨테이너 팟(Multi-container pod)은 쿠버네티스(Kubernetes)에서 여러 컨테이너가 함께 배치되어 서로 긴밀하게 협력하며 실행되는 구조를 말함이러한 팟은 단일 컨테이너로 구성된 팟과는 달리, 여러 컨테이너가 동일한 네트워크 공간을 공유하고 저장소 리소스에도 접근할 수 있음멀티-컨테이너 팟을 사용하면 각 컨테이너는 자신의 역할에 집중할 수 있고, 유지보수가 쉬워지며, 시스템의 전체적인 안정성과 확장성을 향상할 수 있음 아래에는 멀티-컨테이너 팟을 구성하기 위한 대표적인 세 가지 패턴을 정리함각 패턴은 특정 상황에 맞추어 설계되었으며, 쿠버네티스 환경에서 효율적인 컨테이너 관리와 운영을 가능하게 함  사이드카(Sidecar) 패턴Sidecar 패턴은 주요 애플리케이션 컨테이너에 추가.. 공감수 0 댓글수 0 2024. 5. 7.
  • 쿠버네티스 Config 파일 여러 개 관리 쿠버네티스(Kubernetes) 환경에서 작업을 효율적으로 관리하기 위해 여러 클러스터와 네임스페이스를 다뤄야 하는 경우가 있음kubeconfig 파일이란?kubeconfig 파일이란 쿠버네티스 클라이언트인 kubectl이 클러스터와 통신하기 위해 사용하는 설정 파일이 파일에는 클러스터의 접속 정보, 사용자 인증 정보, 사용 중인 컨텍스트 등이 저장됨여러 개의 클러스터와 사용자, 네임스페이스를 갖고 있는 경우 각각을 별도의 파일로 관리하는 대신 한 파일에 모두 통합할 수도 있음kubeconfig파일 경로는 일반적으로 ~/.kube/config에 위치함환경변수에 kubeconfig파일 경로 여러 개 등록하기export KUBECONFIG=~/.kube/config:~/.kube/config-dev환경변수에.. 공감수 0 댓글수 0 2024. 4. 30.
  • 쿠버네티스의 마스터노드와 워커 노드 쿠버네티스 아키텍처는 크게 마스터 노드(master node)와 워커 노드(worker node)로 구분됨마스터노드마스터 노드는 쿠버네티스 클러스터의 컨트롤플레인(control plane)을 구성주요 구성요소는 다음과 같음API 서버 (kube-apiserver)클러스터의 중심 통신 허브로, 모든 관리 명령이 API 서버를 통해 수행됨쿠버네티스 API를 통해 클러스터와 통신함클러스터 저장소 (etcd)모든 클러스터 데이터를 저장하는 분산 키-값 저장소클러스터의 상태를 유지하며, 고가용성을 보장하기 위해 사용됨컨트롤러 매니저 (kube-controller-manager)다양한 컨트롤러를 실행하여 클러스터 상태를 원하는 상태로 유지함예를 들어, 노드가 실패하면 해당 노드의 작업을 다른 노드로 이전스케줄러 (.. 공감수 0 댓글수 0 2024. 4. 28.
  • CNI란? CNI란?CNI는 컨테이너에 네트워크 인터페이스를 할당하고, 컨테이너를 네트워크에 연결하는 데 필요한 기본적인 작업을 수행하는 플러그인의 집합쿠버네티스, Mesos, OpenShift와 같은 컨테이너 오케스트레이션 시스템에서 사용됨CNI는 각 컨테이너가 시작될 때 네트워크 플러그인을 호출하여 네트워크 설정을 자동화하고, 컨테이너가 삭제될 때 이 설정을 정리함 CNI는 컨테이너화된 환경에서 네트워킹을 간편하게 만들어 주며, 다양한 요구 사항에 맞춰 네트워크를 구성하고 관리할 수 있는 유연성을 제공하기 때문에 많은 개발자와 시스템 관리자가 CNI를 선호함CNI의 주요 기능네트워크 인터페이스 생성 및 관리컨테이너에 필요한 네트워크 인터페이스를 생성하고, 컨테이너를 네트워크에 연결하는 기능을 제공네트워크 리소스.. 공감수 0 댓글수 0 2024. 4. 28.
  • 쿠버네티스 소개 쿠버네티스란?쿠버네티스는 컨테이너화된 애플리케이션의 배포, 확장 및 운영을 자동화하기 위해 설계된 시스템컨테이너는 독립적으로 실행되며, 다양한 컴퓨팅 환경에서 일관된 작동을 보장함쿠버네티스는 이러한 컨테이너들을 효율적으로 관리하며, 사용자가 수많은 컨테이너를 쉽게 다룰 수 있도록 도움 쿠버네티스는 복잡한 컨테이너 관리를 단순화하며, 대규모 시스템의 민첩성과 효율성을 높임또한 다양한 클라우드 환경(온프레미스 포함)에서의 이식성과 호환성을 제공함이로 인해 개발자와 시스템 관리자는 더욱 집중적으로 애플리케이션 개발과 운영에 집중할 수 있게 됨쿠버네티스의 주요 기능자동화된 롤아웃과 롤백쿠버네티스를 사용하면 애플리케이션을 점진적으로 업데이트하거나 이전 버전으로 롤백 가능서비스 중단 없이 변경사항을 적용할 수 있음.. 공감수 0 댓글수 0 2024. 4. 28.
  • 쿠버네티스와 마이크로서비스 아키텍처 마이크로서비스는 소프트웨어를 작고 독립적인 서비스로 분할하여 개발하고 배포하는 아키텍처 이러한 아키텍처를 지원하기 위해 쿠버네티스(Kubernetes)가 널리 사용되고 있음 쿠버네티스란 쿠버네티스는 컨테이너 오케스트레이션(Orchestration) 도구로, 컨테이너화된 애플리케이션의 배포, 확장 및 관리를 자동화하는 오픈소스 플랫폼 Google에서 개발한 Borg 시스템을 기반으로 하여 구축되었으며, 대규모의 컨테이너화된 애플리케이션을 효율적으로 관리하기 위해 설계됨 쿠버네티스는 컨테이너의 스케줄링, 자원 관리, 네트워킹, 스토리지 관리, 로깅, 모니터링 등 다양한 기능을 제공함 마이크로서비스 아키텍처란 마이크로서비스 아키텍처는 애플리케이션을 작은 서비스 단위로 분해하여 각 서비스가 독립적으로 배포, 업.. 공감수 0 댓글수 0 2024. 4. 7.
  • (windows) Docker Desktop을 이용한 kubernetes 설치 윈도우용 Docker Desktop을 아래 링크에서 다운로드 받아서 설치 https://www.docker.com/ 버전 4.10.1이상의 stable 버전 쿠버네티스 설치 Kubernetes 활성화 작업도구 모음창에서 도커 아이콘을 우클릭해서 Settings로 들어가 kubernetes를 활성화 쿠버네티스 명령어 날려보기 kubectl version # 쿠버네티스 버전 보기 k9s 설치 (선택) SCOOP 설치 > Windows Powershell 관리자 권한으로 실행 후 아래 명령어 입력 (cmd에서는 안됨) # scoop 설치 Set-ExecutionPolicy RemoteSigned -scope CurrentUser $env:SCOOP = 'C:\Scoop' iex (new-object net.w.. 공감수 0 댓글수 0 2022. 10. 26.
    문의안내
    • 티스토리
    • 로그인
    • 고객센터

    티스토리는 카카오에서 사랑을 담아 만듭니다.

    © Kakao Corp.