도커의 구조 which docker 도커 명령어는 /usr/bin/docker에 위치한 파일을 통해 사용되고 있다. ps aux | grep docker 한편 도커 엔진의 프로세스는 /usr/bin/dockerd 파일로 실행되고 있다. 이는 docker 명령어는 실제 도커 엔진이 아니라, 클라이언트로서의 도커이기 때문이다. 클라이언트로서의 Docker 도커 데몬은 API 입력을 받아 도커 엔진의 기능을 수행하는데, 이 API를 사용할 수 있도록 CLI를 제공하는 한다. 도커 클라이언트는 입력된 명령어를 로컬에 존재하는 도커 데몬에게 API로서 전달한다. 도커 클라이언트는 /var/run/docker.sock에 위치한 유닉스 소켓을 통해 도커 데몬의 API를 호출한다. 도커 데몬은 이 명령어를 파싱하고 명..
Readiness probe Failed 구글링을 해본결과 이 에러는 해당 pod이 apiserver와 연결이 안되는 것이다. 그래서 pod를 describe 해보면 Readiness probe failed: Get "http://172.17.0.18:8081/nginx-ready": dial tcp 172.17.0.18:8081: connect: connection refused 이런 메세지도 찾아볼 수 있다. Readiness probe는 컨테이너가 요청을 처리할 준비가 되었는지 여부를 나타내고, 만약 실패하면 엔드포인트 컨트롤러는 파드에 연관된 모든 서비스들의 엔드포인트에서 파드의 IP 주소를 제거한다 따라서 kubectl get endpoint 명령어를 하면 해당 서비스에 endpoint가 비었있..
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..
공식문서: Installation with Manifests 들어가기 처음에는 Helm 공식문서의 설치방법으로 해봤는데 계속 에러가 났다. 며칠 삽질후, 우연히 nginx의 공식문서에서 방법을 찾았다. 온프레미스 환경이므로 사전에 Metallb를 셋팅해두었다. 그렇지만 IP주소가 따로 있다면 metallb를 사용하지 않아도 무방하다는 사실을 깨닫게 되었다. Nginx-ingres-controller 설치하기 #저장소에서 클론 git clone https://github.com/nginxinc/kubernetes-ingress/ cd kubernetes-ingress/deployments git checkout v1.12.0 #RBAC kubectl apply -f common/ns-and-sa.yaml ..
Metallb를 설치하는 이유 Service 타입중 하나인 LoadBalancer는 AWS, GCP, Azure 등 클라우드 상에서만 사용사능함 LoadBalancer는 외부에서 접속이 가능한 IP 대역을 할당해주는 역할을 한다. 이러한 LoadBalaner를 온프레미스에서 사용하기 위한 오픈소스이다. 설치전 준비할 것 CNI 셋팅(Calio, Flannel등) 본격적으로 Metallb 설치하기 :) 1. Installation by Manifest kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.10.2/manifests/namespace.yaml kubectl apply -f https://raw.githubuserconte..
비밀번호 파일 만들기 vim mypassword.txt 비밀번호 입력 이후 다음과 같은 명령어로 로그인 docker login --username foo --password-stdin < ~/my_password #cat ~/my_password.txt | docker login --username foo --password-stdin #echo "$MY_PASSWORD" | docker login --username foo --password-stdin