본문 바로가기

분류 전체보기207

Namespace Namespace 네임스페이스는 클러스터 자원을 (ResourceQuota를 통해) 여러 사용자 사이에서 분배하는 방법이다. 쿠버네티스에서, 네임스페이스 는 단일 클러스터 내에서의 리소스 그룹 격리 메커니즘을 제공한다. 네임스페이스는 여러 개의 팀이나, 프로젝트에 걸쳐서 많은 사용자가 있는 환경에서 사용하도록 만들어졌다. 사용자가 거의 없거나, 수 십명 정도가 되는 경우에는 네임스페이스를 전혀 고려할 필요가 없다. 네임스페이스는 이름의 범위를 제공한다. 리소스의 이름은 네임스페이스 내에서 유일해야하지만, 네임스페이스를 통틀어서 유일할 필요는 없다. 동일한 소프트웨어의 다른 버전과 같이 약간 다른 리소스를 분리하기 위해 여러 네임스페이스를 사용할 필욘 없다. 동일한 네임스페이스 내에서 리소스를 구별하기 위.. 2022. 12. 26.
Kubernetes Resource 관리 리소스 관리 쿠버네티스는 파일구성과 레이블을 통해 에플리케이션을 배포하고 관리한다. 설정/구성 master node = docker1 local node = docker2 alias k='kubectl' LABELS 동일한 네임스페이스 내에서 리소스를 구별하기 위해 레이블을 사용한다. 리소스가 많을 경우, -l 또는 --selector 를 사용하여 지정된 셀렉터(레이블 쿼리)를 지정하여 레이블별로 리소스를 필터링하는 것이 더 쉽다. nginx로 실행한 컨테이너의 정보를 yaml 파일로 저장 k run webserver --image=nginx:1.14 --port=80 --dry-run -o yaml > webserver.yaml metadata 레이블과 이름을 webserver1로 수정 vi webse.. 2022. 12. 22.
rdate - 타임서버와 시간 동기화 rdate rdate (remote date) 는 원격지의 타임서버에서 시간 정보를 가져와 로컬 시스템의 시간과 동기화를 하는 명령어다. rdate 설치 yum install -y rdate 보라넷이라는 타임서버의 시간과 본인의 리눅스의 시간을 비교해본다. 24초 차이가 난다. date rdate -p time.bora.net 보라넷 서버와 동기화해본다. rdate -s time.bora.net 동기화가 성공했다. 1초 차이나는 것은 명령어 입력시간때문에 나는 것이다. 2022. 12. 22.
Kubernetes 기본 명령어 ※ 참고로 편의상 kubectl = k 로 alias 해놨다. 정보 확인 쿠버네티스는 네임스페이스끼리 통신할 때 텍스트 주소로 통신하기 때문에 coreDNS가 필수다. 다음 명령어로 coreDNS의 주소가 어디에 있는 지 확인할 수 있다. k cluster-info coreDNS가 정상 실행running되고 있는 것을 확인하기 위해 아래 명령어를 쓴다. kubectl get all -n kube-system 특정 노드에 대한 정보를 확인해 보자. cpu, memory 등의 용량을 볼 수 있고 kubelet과 kube-proxy 등의 버전을 볼 수 있다. k describe node master.labs.local 노드 스케쥴러 노드 스케쥴러의 진행상황을 실시간으로 볼 수 있다. 이 창을 따로 왼쪽에 띄워.. 2022. 12. 21.
Dockerfile (개인 프로젝트) 엄청 경량화된 리눅스인 alpine 이미지를 이용해서 httpd 만들면 기존 httpd 이미지보다 용량을 작게 해서 만들 수 있다. 이렇게 이미지를 수정하여 내가 딱 필요한 부분을 최적화하여 다시 만들어내는 능력은 유용할 것이다. Dockerfile Docker 는 이미지를 Dockerfile 의 명령어들을 읽고 그에 맞게 자동으로 빌드한다. Dockerfile 은 주어진 이미지를 빌드하는데 필요한 모든 커맨드가 텍스트 형식으로 담긴 파일이다. Docker 이미지는 Dockerfile 명령어의 결과로 만들어진 읽기 전용의 레이어들로 구성되어 있다. 읽기 전용의 레이어이기 때문에 이전 레이어에서 변경된 내용이 있다면 다음 레이어가 되어 그 위에 쌓이게 된다. 다음 Dockerfile 을 살펴보자. FROM.. 2022. 12. 21.
Kubernetes image pull error 앞으로 귀찮으니까 k를 kubectl의 단축키로 설정하고 시작하겠다. vi ~/.bashrc alias k='kubectl' source ~/.bashrc pending : 디스크가 부족해도 생길 수있음 ErrImagePull / ImagePullBackOff 에러 pod 생성 k run webserver --image=nginx:1.14 --port=80 pod 확인 create가 안뜨고 다음과 같이 ErrImagePull / ImagePullBackOff 가 반복된다. k get pods kubectl describe pod [name] 을 조회하면 원인이 조회된다. 일반적으로 아래 셋 중 하나의 원인이다. ​ 1) Repository ... does not exist or no pull access.. 2022. 12. 20.