Cloud/k8s 17

[kubernetes] cheat sheet

특정 node 스케쥴링 막기 - kubectl cordon은 지정된 노드에 더이상 포드들이 스케쥴링되서 실행되지 않도록 합니다 1) 설정 #kubectl cordon "node이름" # kubectl get nodes NAME STATUS ROLES AGE VERSION master Ready,SchedulingDisabled control-plane 21h v1.25.2 worker Ready 5h49m v1.25.3 2) 해제 #kubectl uncordon "node이름" 특정 node의 pod를 다르 node로 옮기기 #kubectl drain docker-for-desktop --ignore-daemonsets=true --ignore-daemonsets=true 은 daemonsets이 있어도..

Cloud/k8s 2022.10.14

[kubernetes] kubernetes의 Object

개념 1. 요약 - kubernetes는 cluster의 상태를 표현 하기 위해서 Object라는 것을 사용합니다. - kubernetes는 Object에 명시된 데로 cluster의 상태를 지속적으로 동기화 합니다. - Object는 kubernetes를 구성하는 요소를 의도를 기록해 놓은 것입니다. - Object를 kubernetes에 반영 하기위해서는 kubectl (kubernetes CLI) 를 사용 합니다. 2. 상세 설명 kubernetes Object는 kubernetes시스템에서 영속성을 가지는 Object이다. kubernetes는 클러스터의 상태를 나타내기 위해 이 Object를 이용한다. 구체적으로 말하자면, 다음같이 기술할 수 있다. 어떤 컨테이너화된 애플리케이션이 동작 중인지 ..

Cloud/k8s 2022.08.08

[kubernetes] service, deployment, pod, Loadbalancer 삭제

개요 본 post는 인프런의 "쿠버네티스-쉽게시작"을 기반으로 작성 되었습니다. Service삭제 1. service확인 #kubectl get service 2. service 삭제 #kubectl delete service chk-hn Deployment 삭제 1. deployment 확인 #kubectl get deployments.apps 2. deployment 삭제 #kubectl delete deployments.apps deploy-nginx Pod삭제 1. pod확인 #kubectl get pod 2. pod 삭제 #kubectl delete pod nginx LoadBalancer 삭제 1. 삭제 - 파일을 이용하여 설치 하였으니 파일을 이용하여 삭제 합니다. #kubectl delet..

Cloud/k8s 2022.05.24

[kubernetes] Deployment외부 노출 방법 NodePort, LoadBalancer

개요 본 post는 인프런의 "쿠버네티스-쉽게시작"을 기반으로 작성 되었습니다. Deployment외부 노출 방법인, NodePort와 LoadBalancer를 알아 보겠습니다. NodePort 사용 1. 배포 명령 #kubectl expose deployment deploy-nginx --type=NodePort --port=80 2. 단점 NodePort를 사용하면 외부에서 접속 하기 위해서 실제 Node의 IP와 Port를 알아야하는 번거로움이 생긴다. LoadBalancer 사용 k8s에서 기본적으로 제공하지 않는 type입니다. 그래서 LoadBalancer를 사용하기 위해서는 CNCF에서 제공하는 MetalLB를 사용하겠습니다. 1. 장점 - 외부에 Node의 실제 IP를 노출 할 필요 가 없..

Cloud/k8s 2022.05.23

[kubernetes] pod와 deployment 차이

개요 본 post는 인프런의 "쿠버네티스-쉽게시작"을 기반으로 작성 되었습니다. pod와 deployment 차이를 알아 보겠습니다. Pod - Node어디에 배포가 될 지 알수 없음 Deployment - 같은 Pod가 여러개의 Node에 배포되는 형태 - 사용이유 : Pod가 죽을 경우를 대비하여 서비를 보호 차원에서 사용. Deployment 배포 방법 1. kubectl create 1) 단일 pod를 deployment로 구성 하여 배포하는 방법 #kubectl create deployment deploy-nginx --image=nginx 2) 다수 pod를 deployment로 구성 하여 배포한는 방법 --replica 를 옵션을 사용하여 deployment내의 pod의개수를 늘리수 있습니다..

Cloud/k8s 2022.05.23

[kubernetes] 어플리케이션 배포

개요 본 post는 인프런의 "쿠버네티스-쉽게시작"을 기반으로 작성 되었습니다. 배포 방식 master-node에서 kubectl을 이용하여 Pod형태로 worker-node에 배포하는 방식 Pod 정의 1. 정의 - 특정한 일을 하기위해 필요한 것을 모아서 묶어 놓은 단위 입니다. Ex) Webserver를 구성하기 위해서 pod를 구성한다고하면, tomcat container + mysql container로 구성할 수 있습니다. 2. 구성 1) container - pod안에는 다수의 container가 존재 할 수 있습니다. 2) 볼륨 - 데이터를 저장하는 곳 Pod 배포 1. pod 배포 명령어 #kubectl run "pod이름" --image="pod 생성에 사용할 image" Ex) #ku..

Cloud/k8s 2022.05.20

[kubernetes] 동작 환경 구축

개요 본 post는 인프런의 "쿠버네티스-쉽게시작"을 기반으로 작성 되었습니다. kubernetes container를 관리하는 tools kubeadm kubernetes 설치하기 위한 tools web에서 제공하는 kubernetes 환경 1. play kubernetes - 시간 제한 4시간 - 세션 유지가 안됨. 2. kubernetes playground - node가 제한적이다. - 세션이 유지가 안됨. 개인용 kubernetes 구성 1. 환경 - Linux(ubuntu 20.04) + Vagrant + virtualbox 2. vagrant 설치 curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add - sudo apt-a..

Cloud/k8s 2022.05.17