728x90
반응형

IT/CLOUD(AWS,Azure,GCP,Docker) 78

[Kubernetes] Headless, Endpoint, ExternalName(Service)

* 사용자 관점에서 Pod/Service에 연결하는 방법 파드의 입장에서 연결 및 외부 서비스에 안정적인 연결방법 * 이러한 연결 방법에는 DNS Server를 기본적으로 이용하여 사용 DNS Server란 쿠버네티스 클러스터 안에 존재하는 서비스의 이름과 IP가 저장되어 있는 존재 Pod가 Service에 대한 도메인을 질의하면 해당 Service IP를 알려줌 Pod가 유저를 찾으려고 할 때, 쿠버네티스 내부 뿐만 아니라, 상위 DNS 인 내부망 DNS, 외부 네트워크 DNS까지 조회가능 * DNS Server는 FQDN(Fully Qualified Domain Name)으로 구성되어 있음 파드의 입장에서 외부 및 다른 서비스/Pod와 연결 가능한 방법 1. Headless Pod간의 연결을 위해 사..

[Kubernetes] 쿠버네티스 kube-flannel CrashLoopBackOff 해결 방법 (Error registering network: failed to acquire lease: node "node1" pod cidr not assigned)

쿠버네티스 kube-flannel CrashLoopBackOff 해결 방법 (Error registering network: failed to acquire lease: node "node1" pod cidr not assigned) 아래와 같이 kube-flannel이 CrashLoopBackOff가 발생하였습니다. watch kubectl get pods --all-namespaces 로그를 확인해본 결과 Error registering network: failed to acquire lease: node "node1" pod cidr not assigned 에러가 발생중인것을 확인할 수 있었는데, 해외 문서에 따르면 불분명한 문제(?)로 Pod CIDR 임대 실패하여 발생하는 에러라고 합니다. ku..

vSphere Client - VM 복제

Copy of Existing VM in ESXi Server vCenter에서 관리되지 않는 ESXi서버의 경우 vSphere Client로 접속했을 때에 VM을 복제하는 메뉴가 존재 하지 않지만 다른 방법으로 단순 복제가 가능하다. 스냅샷이 존재하는 VM은 모든 스냅샷을 제거한 후 복사 할 것을 추천한다. ESXi 6 버전에서 테스트 결과 스냅샷이 존재하는 VM은 실행은 되는데 스냅샷 기능에 문제가 있다. 원본에서 작성된 스냅샷을 지워도 파일 삭제가 안되서 디스크를 잡아먹는 버그를 확인했다. ESXi Server에 vSphere client를 이용하여 로그인 한다. 복제할 가상머신은 종료시킨다. OS만 종료하는게 아니라 전원도 OFF 상태로 만든다. Virtual Machine이 저장되어 있는 데이타..

[kubernetes] 쿠버네티스 클러스터 구성(CentOS 7)

쿠버네티스 클러스터 구성(CentOS 7) 시스템 구성 HOSTNAME IP ROLE 비고 k8s-master 192.168.0.101 control-plane node k8s-node1 192.168.0.102 worker node k8s-node2 192.168.0.103 worker node 쿠버네티스(kubeadm) 설치를 위한 사전 작업 docker 설치 및 활성화 $ curl -s https://get.docker.com | sudo sh $ systemctl enable --now docker $ docker version Client: Docker Engine - Community Version: 20.10.10 API version: 1.41 Go version: go1.16.9 Git ..

nginx ingress controller 만들기를 실패했을때 깨끗히 삭제방법

vim delete.sh kubectl delete namespace ingress-nginx kubectl delete serviceaccount ingress-nginx kubectl delete configmap ingress-nginx-controller kubectl delete clusterrole ingress-nginx kubectl delete clusterrolebinding ingress-nginx kubectl delete role ingress-nginx kubectl delete rolebinding ingress-nginx kubectl delete service ingress-nginx-controller-admission kebectl delete service ingres..

쿠버네티스 ContainerCreating 상태에서 멈출 시 해결방법

위처럼 Status가 62분 동안이나 ContainerCreating에 멈춰있으면, yaml 파일의 문법이 잘못되었거나 논리적으로 맞지 않다는 뜻이다. 처음에 그냥 yaml 파일 눈에 뚫어져라 확인하며 고쳤는데 그럴 필요 없이 $ kubectl describe pods describe 명령으로 오류를 쉽게 찾을 수 있다.. 출처 : 쿠버네티스 ContainerCreating 상태에서 멈출 시 해결방법 (tistory.com)

Docker Hub 계정 생성하는 방법

Docker Hub는 컨테이너 관리 도구 Docker의 기본이자 공식 이미지 레지스트리(Registry)입니다. 이미지 레지스트리는 Docker 이미지를 저장하고 제공하는 서비스로, 별도의 이미지 레지스트리를 직접 운영하지 않는다면 docker로 이미지를 풀 받을 때 Docker Hub가 사용됩니다. 관련 글: Docker Hub와 Docker 공식 이미지의 이해 Docker Hub에서는 Docker 사에서 직접 관리하는 공식 이미지(Official Images)와 검증된 퍼블리셔(Verified Publisher)가 제공하는 이미지 이외에도 직접 빌드한 이미지를 푸시하거나 풀 받는 것도 가능합니다. 계정이 없어도 Docker Hub에서 이미지를 받아오는 것은 가능합니다만, 이미지 저장소를 만들고 이미지..

Install `NGINX Ingress Controller` in Kubernetes

GCP, AWS와 같은 Cloud 업체에서 제공해주는 Managed K8s 환경을 사용하는 것이 아니라, Local 환경에서 직접 K8s를 설치하는 경우 Ingress를 이용하기 위해서는 추가적인 설치를 해야 한다. 다른 네트워크 관련된 것들과 마찬가지로 Ingress도 여러가지 중에 선택적으로 설치해서 사용해야 한다. 직접 설치해서 사용하는 경우 일반적으로 Nginx 기반의 Ingress를 선택한다. 그런데, 이 부분에서 고생을 했던 이유가 Nginx 기반 Ingress 자체도 종류가 여러가지라는 것이다. 그 중에서 대표적인 Nginx Ingress Controller는 다음의 2가지 이다. - kubernetes/ingress-nginx - nginxinc/kubernetes-ingress 첫번째 것..

쿠버네티스 - 계정 인증과 권한 인가(보안)

사용자 인증 및 권한 관리 인증과 인가 (Authentication & Authorization) 먼저 인증과 인가에 대한 개념에 대해서 이해 하자 인증(Authentication)은 사용자가 누구인지를 식별하는 것이다. 흔히 생각하는 사용자 로그인을 생각하면 된다. 인가는 인증된 사용자가 해당 기능을 실행할 수 있는 권한이 있는지를 체크하는 기능이다. 인증 (Authentication) 쿠버네티스는 계정 체계를 관리함에 있어서 사람이 사용하는 사용자 어카운트와, 시스템이 사용하는 서비스 어카운트 두가지 개념을 제공한다. 사용자 어카운트 사용자 어카운트는 우리가 일반적으로 생각하는 사용자 아이디의 개념이다. 쿠버네티스는 자체적으로 사용자 계정을 관리하고 이를 인증(Authenticate)하는 시스템을 가..

Helm 설치하기

Helm 설치하기 Helm은 Kubernetes의 패키지 매니저입니다. Kubernetes에서 애플리케이션을 배포할 경우 같은 애플리케이션이어도 환경에 따라 설정이 달라지는 경우가 발생하는데 이에 따라 설정을 매번 변경해줘야하는 불편함이 생깁니다. Helm은 이렇게 배포 환경에 따라 달라지는 설정값을 정의하고 배포할 수 있도록 패키지 매니징을 지원합니다. Helm Helm - The Kubernetes Package Manager. helm.sh 1. Helm 구성 Helm의 기본 구조는 다음과 같습니다. (Helm 3.0 기준으로 확인한 내용입니다) Helm 3 Architecture Charts yaml 파일을 묶어서 정의한 package입니다. kubernetes app 빌드를 위한 리소스가 정의되..

728x90
반응형