반응형

K8s 7

[ K8s ] 쿠버네티스 기본 사용법 - 파드 업데이트 하고 복구하기

파드를 운영하다 보면 컨테이너에 새로운 기능을 추가해야하거나 치명적인 버그가 발생해 버전을 업그레이드 해야할 때가 있다. 그러기 위해서 파드를 업데이트하고 파드에 문제가 생기면 복구를 해야할 것이다. 이번 포스팅은 파드을 업데이트하고 복구하는 방법을 포스팅하겠다. 1. 파드 업데이트 하기 1. 파드를 생성한다. 업데이트를 하기 위해서 앞에서 배운 apply 명령어를 사용해 파드를 생성을 했고 실습파일 야믈파일을 이용해 파드를 작성을 하였다. 2. 파드가 잘 생성이 됬는지 확인한다 . 3. 배포된 파드에 속해 있는 nginx 컨테이너 버전을 확인한다. 4. 여기서 1.15.12버전을 1.16.0버전으로 바꿔보자 kubectl set image deployment rollout-nginx nginx=ngin..

K8s 2023.06.12

[ K8s ] 쿠버네티스 기본 사용법 - 파드의 컨테이너 자동 복구

쿠버네티스는 거의 모든 부분이 자동 복구되도록 설계가 되어있다. 제대로 작동하지 않는 컨테이너를 다시 시작하거나 교체해 파드가 정상적으로 작동하게 한다. 1. 파드에 접속하려면 파드의 ip를 알아내야한다. kubectl get pods -o wide 2. kubectl exec 명령을 실행해 파드 컨테이너의 셀에 접속한다. kubectl exec -it nginx-pod -- /bin/bash 3. 배시 셀에 접속하면 컨테이너에서 구동하는 nginx의 PID를 확인한다. nginx의 PID는 언제나 1이다. 4. ls -l 명령으로 프로세스가 생성된 시간을 확인한다 . 5. 슈퍼푸티에서 m-k8s 터미널을 1개 저 띄우고 nginx-pod의ip에서 돌아가는 웹페이지를 1초마다 요청하는 스크립트를 실행한다..

K8s 2023.06.09

[ K8s ] 쿠버네티스 기본 사용법 - 스펙을 지정해 오브젝트 생성하기

베ㅓ파드를 생성 할 때 kubectl run 이나 kubectl create deployment를 이용해서 1개의 파드를 생성시켰다. 그러나 디플로이먼트를 사용하면서 한번에 여러 개의 파드를 만들 수없을까라는 생각을 했다. 그러기 위해선 파일을 작성해야 한다. 그것을 오브젝트 스펙이라고 부른다. 오브젝트 스펙은 일반적으로 야믈파일로 작성된다. 3개의 nginx 파드를 deployment 오브젝트로 만들어보기 - 예제 파일 - apiVersion: apps/v1 kind: Deployment metadata: name: echo-hname labels: app: nginx spec: replicas: 3 selector: matchLabels: app: nginx template: metadata: lab..

K8s 2023.06.09

[ K8s ] 쿠버네티스 기본 활용법 - 레플리카셋으로 파드 수 관리하기

많은 사용자를 대상으로 웹 서비스를 하려면 다수의 파드가 필요한데, 이를 하나씩 생성한다면 매우 비효율적이다. 그래서 쿠버네티스는 다수의 파드를 만드는 레플리카셋 오브젝트를 제공한다. *레플리카셋 레플리카셋은 실행되는 파드 개수에 대한 가용성을 보증 하며 지정한 파드 개수만큼 항상 실행될 수 있도록 관리한다. 즉 5개의 파드를 항상 실행 하도록 설정하면 이후 파드 1개가 삭제될 경우 다시 파드 1개가 실행되어 5개를 유지할 수 있도록 해준다. *실습 1. 먼저 배포된 파드의 상태를 확인 2. nginx-pod를 scale 명령으로 2개를 증가시킨다. 여기서 --replicas=3의 의미는 파드의 수가 3개로 맞추는 옵션 3. 파드가 잘 생성이 됬는지 확인 4. 삭제

K8s 2023.06.08

[ K8s ] 쿠버네티스 기본 사용법 - 오브젝트

쿠버네티스를 사용하는 관저메서 파드와 디플로이먼트는 스펙과 상태등의 값을 가지고 있다. 값을 가지고 있는 파드와 디플로이먼트를 개별 속성을 포함해 부르는 단위를 오브젝트라고 한다. 오브젝트는 기본적으로 4가지가 있다. 1. 파드 - 쿠베네티스에서 실행되는 최소 단위. 즉 웹 서비스를 구동하는데 필요한 최소 단위. - 독립적인 공간과 사용 가능한 IP를 가지고 있다. - 하나의 파드는 1개 이상의 컨테이너를 갖고 있기 때문에 여러 기능을 묶어 하나의 목적으로 사용할수 있다. 2.네임스페이스 - 쿠버네티스 클러스터에서 사용되는 리소스들을 구분해 관리하는 그룹이다. - 예를 들면 3장에는 3가지 네임스페이스를 사용한다. 특별히 지정하기 않으면 기본으로 할당되는 default 쿠버네티스 시스템에서 사용되는 ku..

K8s 2023.06.08

[ K8s ] 쿠버네티스 기본 사용법 - 파드생성

쿠버네티스를 사용한다는 것은 결국 사용자에게 효과적인 노드를 제공하는 것이다. 그래서 파드를 생성하는 법부터 알아보겠다. 1. 파드를 생성하는 법 간단하게 run을 사용하면 된다. kubectl run nginx-pod --image=nginx 여기서 nginx-pod는 이름이고 image=nginx는 생성할 이미지의 이름이다. 파드가 잘 생성이 됬는지 확인을 하려면 이 명령어를 사용하면된다. kubectl get pod * 여기서 파드를 생성하는 방법 중에 create 명령어로 만들어 쓰는 방법이 있다. Run 과 Create의 차이를 알아보자 create를 사용해서 파드를 생성해보기 kubectl create nginx --image=nginx 그러면 이렇게 에러가 뜰것이다 . 그 이유는 create..

K8s 2023.06.08

[ K8s ] 쿠버네티스의 구성 요소 간 통신과 개념

쿠버네티스의 구성 요소의 유기적인 연결 관계를 표현하면 다음과 같다 . 통신 순서가 있어서 흐름을 이해할 수 있지만, 각각의 기능을 파악하기는 어렵다. 파드를 배포하는 순서에 따라 요소들의 역활을 정리를 해보았다. 1. 마스터 노드 - kubectl : 쿠베네티스 클러스터에 명령을 내리는 역활 . 다른 구성 요소들과 다르게 바로 실행되는 며영 형태인 바이너리로 배포하기 때문에 마스터 노드에 있을 필요는 없다. 그러나 통상적으로 API 서버와 주로 통신을 한다 - API 서버 : 쿠버네티스 클러스터의 중심 역활을 하는 통로이다. 주로 상태 값을 저장하는 etcd와 통신하지만 , 그밖의 요소들 또한 API 서버를 중심에 두고 통신하므로 역활이 가장 중요하다. - etcd : 구성 요소들의 상태 값이 모두 저..

K8s 2023.06.08
반응형