자기발전소/# Docker and K8s11 [k8s] 아니 이미지가 떡하니 있는데 왜 못 찾는다는 거야 [삽질과 그 정리의 기록] control plane 노드에서 custom image를 따로 build 했다. 그리고 docker image ls 로 해당 이미지가 제대로 조회되는 것도 확인했다. 그래서 이제 해당 이미지를 컨테이너로 만들어 replica 2 로 지정한 deployment set을 배포하려고 했다. kubectl apply ~ 그런데 자꾸만 pod 상태는 ErrImagePull 로 빠지고, 아래 에러가 떴다. Failed to pull image "kafka-flink:young": rpc error: code = Unknown desc = Error response from daemon: pull access denied for kafka-flink, repository does not .. 2023. 11. 7. [K8s] Controller 와 Workload > Deployment 컨트롤러를 통해 Pod 실행 (pod만 독립적으로 실행하고 싶다면? --restart=Never) 즉, pod가 정지됐을 때 자동으로 재기동해야 하는지에 따라 옵션을 선택하면 된다.만약 해당 옵션을 생략하는 경우 디폴트로 Always가 적용되어 디플로이먼트에 의해 파드가 기동 된다. $ kubectl create deploy --image=hello-world hello-world 👉 deployment 생성 후, deployment가 생성한 모든 오브젝트를 확인할 수 있다: pod, replicaset. 👉 레플리카 셋과 파드 뒤에 해시 문자열이 추가되어 고유한 이름이 주어진 것을 확인할 수 있다. 👉 레플리카셋과 디플로이먼트는 지정된 pod의 개수가 유지될 수 있도록 관리하는 .. 2021. 3. 6. [K8s] Hello Minikube(CentOS 7) 노트북 사양이 부족한 관계로 멀티 클러스터 구성보다 Minikube로 쿠버네티스 실습이 적절했다 ㅠ ㅠ (이전에 서버를 사용할 수 있었을 때에는 신나게 클러스터 구축했었는데...) 추가로 구매한 메모리가 온다면, 얼른 데스크톱에 추가하여 쿠버네티스 클러스터 환경 구축 실습을 진행할 것이다 ! 😎😎😎 오늘의 Minikube 설치 환경은 다음과 같다. 💡 VMware 기반 가상 서버 OS: CentOS 7 CPU : 2 (가상화 지원 YES) # grep -E --color 'vmx|svm' /proc/cpuinfo 명령어를 사용하여 가상화 지원 확인 필요. MEM: 4 HDD: 20 매우 노트북의 사양이 연약한 관계로 최소한의 자원을 사용하였다 (메모리는 2GB여도 된다하지만, 메모리는 항상 될 수 있는한.. 2021. 3. 6. K8s : 네트워크 트러블 슈팅 난 분명히 클러스터 구성 후 flannel 네트워크를 분명 다운받았는데... 네트워크 관련 문제가 자꾸 발생한다. 마스터 노드에서 nginx 디플로이먼트를 배포하고 포트를 노출시켜 클러스터 ip로 들어가려고 했더니 마스터 노드, 워커 노드1에서는 curl접속이 거부되지만 worker2노드에서는curl 접속 바로 됨 이는 쿠버네티스 클러스터 간 네트워크가 제대로 형성되어 있지 않음을 의미하는 것 같아 찾아보니 flannel (pod 네트워크) ip가 없다 뚜-둥 Kubernetes Cluster Ovelay 네트워크 개념 다시 잡기 먼저, 문제를 해결하기 위해 공식문서를 먼저 뒤졌고, 네트워크를 apply하기 전에 다음의 명령어를 통해 시스템 제어를 했었어야 했다. # sysctl net.bridge.br.. 2020. 10. 25. K8s 클러스터 설치: 단일 마스터 및 워커 노드 2개 구성 [ master node에서 kubeadm init 성공하면 출력되는 메세지 ] @ Master Node # mkdir -p $HOME/.kube # cp -i /etc/kubernetes/admin.conf $HOME/.kube/config # sudo chown $(id -u):$(id -g) $HOME/.kube/config @ Worker Node : join token 값 입력 # kubeadm join [master node ip]:6443 --token nvd3fo.kr2d7ql95md0uwpm --discovery-token-ca-cert-hash .... [ worker node에 입력하여 join 완료 ] worker1에서 clone으로 생성한 worker2의 호스트네임을 바꾸지 않은 .. 2020. 10. 3. Docker 공부: 컨테이너와 볼륨 연결 DOCKER가 안정화되려면 CONTAINER와 VOLUME 연결 필요 mount가 필요 Docker Container의 /var/www/html 을 볼륨을 호스트의 특정 디렉토리에 마운트: 호스트 운영체제의 특정 디렉토리에 HTML 파일 놓으면 호스트 운영체제 위의 컨테이너에 자동으로 올라감 실제로, volume mount를 설정하지 않고 컨테이너를 생성하려 하면 오류가 생겼다. 다양한 어플리케이션을 미리 설치하여 이미지로 만들고, 그 이미지로 컨테이너를 생성하여 동일한 개발환경을 제공할 수 있게 된다 2020. 10. 3. Kubernetes Cluster 설치 (CentOS 7) 클러스터 구성 순서 실습 목표: 1개의 마스터와 2개의 워커노드로 구성된 쿠버네티스 클러스터 설치 1. 모든 노드에 docker 설치 2. 모든 노드에 kubeadm 설치 : bootstrap 3. Control Plane 에서 Initialize & POD Network 확인 4. Node의 조인 설치하기 전 체크 사항 👌 Master : CentOS7, 2CPU, 3GB RAM, 20GB HDD 👌 Node 1, 2 : CentOS7, 2CPU, 2GB RAM, 20GB HDD 👌 각 노드 간 원활한 네트워크 통신 👌 각 노드별 고유 hostaname, MAC address, UUID 👌 swap 비활성화 (필수! kubelet 오류발생하지않도록) 👌 방화벽 포트 오픈 kubernetes.io/ko/.. 2020. 10. 2. K8s 공부 : 쿠버네티스의 개요 쿠버네티스 란, 오케스트레이션? 바이올린 소리가 더 필요하면 바이올린 대수를 더 많이 배치하고 다른 악기와의 배치를 고려하여 위치를 선정하는 기능 쿠버네티스를 쓰는 이유 : 편리한 "Scale Out " Scale Up : 서버 수를 유지하되, 해당 서버의 스펙을 점점 증가시키기 Scale Out : 사람들의 커넥션이 너무 많아져서 서버 한대로 모자를 때, 동일한 스펙의 서버를 여러 대 더 추가 배치 요즘의 애플리케이션 운영에서는 Scale Out > Up 더 많이 사용 개발자가 서비스하고자 하는 소스 코드를 컨테이너화하여 도커 허브에 push로 업로드 해놓고, 쿠버네티스 마스터에게 해당 컨테이너를 10 개 컨테이너로 만들어 달라고 요청 (=Scale out) 쿠버네티스는 "컨테이너 Orchestrati.. 2020. 10. 1. Docker 공부: Docker Network Docker on OpenStack 네트워크 도커 설치 전 인스턴스 네트워크 이더넷 상태 도커 설치 직후 인스턴스 네트워크 이더넷 상태 : docker 0 생성 도커 네트워크 : 기본으로 생성되는 삼총사 네트워크 docker network inspect none root@master:/home/ubuntu# docker network inspect none [ { "Name": "none", "Id": "ccd990d3b13996325502765935790e9b33f055584714cdd22419f4620bef45b9", "Created": "2020-09-22T12:16:40.606411834Z", "Scope": "local", "Driver": "null", "EnableIPv6": false, ".. 2020. 9. 21. 이전 1 2 다음