이번엔 우리의 pod 중 일부가 node 에서 퇴출되고 다른 곳으로 스케줄이 변경되도록 할 것이다. 이것은 기본적인 maintenance 또는 롤링 OS 업데이트 등으로 있을 수 있다. 먼저 worker1번 노드를 더이상 스케쥴 되지 않도록 한다. 이때, worker1번 노드에 있는 pod들을 다른 노드들로 퇴출된다. 현재 master node 이미지 수 확인 ps0107@k8smaster1:~$ sudo docker ps | wc -l 22 현재 worker node 이미지 수 확인 ps0107@k8sworker1:~$ sudo docker ps | wc -l 28 maintenance를 완료하기 위해 노드에서 컨테이너를 이동하고 새 컨테이너가 배치되는 것을 막아야 한다. # - drain : 비우다 ..
microservice 관련 demo 를 이용하여 배포해본다. 관련 yaml 파일을 다운로드 한다. https://raw.githubusercontent.com/microservices-demo/microservices-demo/master/deploy/kubernetes/complete-demo.yaml ps0107@k8smaster1:~$ wget https://raw.githubusercontent.com/microservices-demo/microservices-demo/master/deploy/kubernetes/complete-demo.yaml -O complete-demo.yaml 더보기 더보기 apiVersion: extensions/v1beta1 kind: Deployment metada..
deployment 의 리소스 제약 실습해보기 stress tool을 사용하여 실습해 보자. 먼저 stress container yaml 파일을 만들어 제약 조건을 yaml 파일에 추가하면서 테스트 해본다. 기본으로 stress app 배포 ps0107@k8smaster1:~$ kubectl create deployment stress --image vish/stress deployment.apps/stress created deployment 리소스 확인 ps0107@k8smaster1:~$ kubectl get deployment NAME READY UP-TO-DATE AVAILABLE AGE stress 1/1 1 1 9s stress 객체 자세히 보기 ps0107@k8smaster1:~$ kube..
nginx app 간단하게 배포해보기 nginx app 배포 하기 ps0107@k8smaster1:~$ kubectl create deployment nginx --image=nginx deployment.apps/nginx created 현재 클러스터의 event 확인 ps0107@k8smaster1:~$ kubectl get events LAST SEEN TYPE REASON OBJECT MESSAGE 29s Normal Scheduled pod/nginx-554b9c67f9-cncvz Successfully assigned default/nginx-554b9c67f9-cncvz to k8sworker1 27s Normal Pulling pod/nginx-554b9c67f9-cncvz Pulling ..
클러스터에 추가할 노드 세팅 master 세팅과 마찬가지로 기본적인 설치 진행 /etc/hosts 파일 설정 필요. (설정 하지 않았다면 아래 링크 확인) [kubernetes-실습] kubeadm 을 이용한 설치 및 세팅 # 설치를 위한 준비 사항 kubeadm을 이용한 설치 기준 virtualbox 이용시 master : 3vCPU/4G memory/5G minimal OS worker : 1vCPU/2G memory/5G minimal OS gcp, aws 이용시 spec : 2 vCPU/ 7.5G memory putty 이.. blog.psnote.co.kr root@k8sworker1:~# apt-get update && apt-get upgrade -y # docker 설치 (참고, docke..
설치를 위한 준비 사항 kubeadm을 이용한 설치 기준 virtualbox 이용시 master : 3vCPU/4G memory/5G minimal OS worker : 1vCPU/2G memory/5G minimal OS gcp, aws 이용시 spec : 2 vCPU/ 7.5G memory putty 이용 할 경우 .pem or .ppk file 요구 YAML 파일 작성시 유의 사항 TAB 사용 하면 안되고 white space로 사용 VM 기준 사전 세팅 1. DHCP IP를 static으로 설정 # vi /etc/network/interfaces auto ens33 iface ens33 inet static address 172.20.0.150 netmask 255.255.255.0 broadca..
kubernetes 아키텍쳐 구조 Master Node kube-apiserver 쿠버네티스 api를 노출하는 컴포넌트, kubectl로 부터 Resource를 조작도록 지시 받음. front-end of cluster's shared state Master for the cluster All components work through it Validates and configures data for API objects Services REST operations Only component to connect to etcd database kube-scheduler 노드 모니터링, 적절한 노드 선택 Uses algorithm to determine Pod placement Checks quota res..
kubernetes cluster install tools google kubernetes engine (GKE) create account on GKE add method of payment intall and use gcloud - Vendor-specific command to manage GKE https://console.cloud.google.com/getting-started $ gcloud container clusters create xxxx $ gcloud container clusters list $ kubectl get nodes $ gcloud container clusters delete xxxx Minikube open source project within Github kub..
kubernetes의 정의 Orchestration (조타수) http://kubernetes.io 에서의 정의 "Open-source software for automating deployment, scaling, and management fo containerized applications" "컨테이너형 애플리케이션을 구축, 확장 및 관리 자동화를 위한 오픈 소스 소프트웨어" Easy to run, Potentially complex to integrate Built with lessons from Google 개방과 확장이 가능하다. kubernetes cluster 구조 쿠버네티스의 구성 컴포넌트 microservice : 최소 기능별로 쪼개서 서비스 런칭 Decoupling : 각 서비스 간 ..
[참고] 발표 영상 및 자료가 업데이트 되었네요 https://www.facebook.com/100001291640397/posts/2810928315626862/?d=n올해 aws 한국 사용자 모임(awskrug)에서 주최하는 커뮤니티 데이에 신청을 하고 참석하게 되었는데요^^ 다양한 커뮤니티에서 활동하시는 분들의 경험과 함께 re:invent 신규 서비스에 대한 소개도 들을 수 있는 유익한 시간이었습니다.AWS Community Day는 AWS를 사용하는 개발자 및 고급 사용자들이 주축이 되어 AWS 서비스 활용 방법 및 사용 대한 정보를 공유하는 기술 컨퍼런스입니다. 이번에는 지난 12월 미국 라스베가스에서 열린 AWS re:Invent 2019 행사에 직접 참여하셨던 분들이 꼽은 흥미로운 신규 서..