K8S 아키텍처, 마스터 노드

개발 및 관리/클라우드 2023. 9. 7. 23:27 posted by HighLighter
반응형

*** K8S 아키텍처, 마스터 노드

1. 마스터: K8S의 설정 환경 저정하고 전체 클러스터 관리하는 역할 / etc, kube-apiserver, kube-scheduler, kube-controller-manager
 - 클러스터 전체를 관리하는 컨트롤러 / 클러스터의 컨트롤 Plan 제공
 - 클러스터에 대한 전반적인 결정을 수행하고 클러스터 이벤트(예컨데, Deployment의 Replicas 필드가 요구조건을 충족되지 않을 경우 새로운 Pod 구동 시키는 것)를 감지하고 반응
 - 클러스터 내 어떠한 머신에서도 동작 가능
 - Api Server, Controller Manager, Scheduler, etcd로 구성
 - 관리자는 Master의 Api Server를 통해 K8S를 관리하며 모든 컴포넌트들은 Api Server를 통해 서로 통신
 
1-1. kube-scheduler
- 노드가 배정되지 않은 새로 생성된 파드를 감지하고 그것이 구동될 노드를 선택하는 마스터 상의 컴포넌트
- 새로운 파드들이 만들어질 때 현재 클러스터 내에서 자원할당이 가능한 노드들 중에서 알맞은 노드를 선택해서 그곳에 파드를 실행하는 역할
- 파드는 처음 실행 될 때 여러 가지 조건을 지정해서 실행하는데, kube-scheduler가 그 조건에 맞는 노드를 찾아주는 역할
- 스케줄링 결정을 위해서 고려되는 요소는 리소스에 대한 개별 및 총제적 요구사항, HW/SW/정책적 제약, Affinity 및 Anti-affinity 명세, 데이터 지역성, Workload 간 간섭, Deadline을 포함 

1-2. kube-controller-manager
- 컨트롤러를 구동하는 마스터 상의 컴포넌트
- 논리적으로, 각 컨트롤러는 개별 프로세스이지만, 복잡성을 낮추기 위해 모두 단일 Binary 컴파일 되고 단일 프로세스 내에서 실행

1-3. cloud-controller-manager
- 클라우드 Provider와 상호작용하는 컨트롤러 작동
- 클라우드 밴더 코드와 K8S 코드가 서로 독립적으로 발전시켜 나갈 수 있도록 지원

1-4. kube-apiserver
- K8S는 MSA 구조 / 여러 개의 분리된 프로세스로 구성
- K8S Api를 노출하는 마스터 상의 컴포넌트, 쿠버네티스 컨트롤 플레인에 대한 Front-end
- 요청이 왔을 때, 그 요청이 유효한지 검증하는 역할
- K8S의 모든 요청은 kube-apiserver를 통해서 다른 곳으로 전달
- kube-apiserver는 수평적으로 확장이 가능하게 설계가 되어, 여러 대 장비에 여러 개를 실행 가능 

1-5. etcd
- 고가용성을 제공하는 분산 key-value 저장소
- K8S에서 필요한 모든 데이터를 저장하는 DB
- 프로세스 1개만 사용 가능하지만, 데이터 안전성을 위해 여러 개의 장비에 분산해서 etcd 자체를 클러스터링 구성해서 실행하는 것이 일반적인 방법
- 안정적인 운영을 위해서 주기적으로 etcd에 있는 데이터 백업 필요
- curl 등 http 클라이언트/라이브러리로 작업 가능

2. 노드: Pod나 Container 처럼 K8S에서 동작하는 Workload를 호스팅하는 역할 / kubelet, kube-proxy , docker 등이 실행 / 실제 사용자가 사용하는 컨테이너들은 대부분 노드에서 실행

반응형
반응형

(K8S 기본 오브젝트) Pod
 - 쿠버네티스는 하나의 컨테이너를 개별적으로 배포하는 것이 아닌 Pod 단위로 배포
 - K8S에서 가장 기본적인 배포 단위로 하나 이상의 컨테이너를 포함하는 단위
 - 일반적으로 1 Pod 1 Container
 - Pod 내의 컨테이너들은 IP, Port 공유
 - Pod 재시작하면 ip가 변경되며 Pod 내의 컨테이너들의 로컬디스크의 내용이 사라진다.
 - Pod 내에 배포된 컨테이너 간에는 디스크 볼륨을 공유 가능

(K8S 기본 오브젝트) Volume
 - Pod가 기동될 때 Default로 컨테이너마다 로컬 디스크를 생성해서 기동되는데, 로컬 디스크의 경우에는 영구적이지 못함.
 - DB와 같이 영구적으로 파일을 저장해야 하는 경우에는 컨테이너 재시작과 상관 없이 파일을 영속적으로 저장해야 하는데, 이러한 형태의 스토리지를 Volume 이라 함
 - Pod와 Lifecycle이 같음
 - Volume은 컨테이너의 외장 디스크와 유사하며 Pod가 기동될 때 컨테이너에 mount하여 사용
 - K8S은 다양한 외장 디스크를 제공. iSCSI나 NFS와 같은 온프라미스 기반의 외장 스토리지 이외에 클라우드 외장 스토리지인 AWS EBS, Google PD 그리고 github 등의 오픈소스 기반 외장 스토리지 서비스 지원

(K8S 기본 오브젝트) Service
 - Label Selector로 Pod를 선택하여 하나의 Endpoint로 노출
 - Free버전을 사용하게 되면 Worker Node의 Node Port로 밖에 접근할 방법이 없다.
 - 종류: ClusterIP, Node Port, Load Balancer, External Name
 - Pod와 Volume을 이용하여 컨테이너들을 정의한 후에 Pod를 서비스로써 제공할 때 일반적으로 하나의 Pod로 서비스하는 경우는 드믈고 여러개의 Pod를 서비스하며 이를 로드밸런서를 이용해 하나의 IP와 포트로 묶어서 서비스를 제공
 - 서비스를 정의할 때 어떤 Pod들을 Service로 묶을 것인지를 정의하는데 이를 Label Selector
 - 각 Pod를 생성할 때 Object Spec의 meta data 부분에 Pod에서 사용할 Label 정의
 - 서비스는 Label Selector에서 특정 라벨을 가진 Pod만을 선택하여 Service에 연결

(K8S 기본 오브젝트) Namespace
 - K8S 클러스터 내의 논리적인 분리단위
 - Pod, Service 등은 네임스페이스 별로 생성이나 괸리가 될 수 있고, 사용자의 권한 역시 이 네임스페이스 별로 나눠서 부여 가능
 - 네임스페이스로 할 수 있는 것은 
1. 사용자별로 네임스페이스 별 접근 권한을 다르게 운영 가능
2. 네임스페이스별로 리소스의 Quota(할당량)을 지정 가능하고
  3. 네임스페이스별로 리소스를 나눠서 관리 할 수 있다. (Pod, Service 등)
 - 네임스페이스는 논리적인 분리 단위이지 물리적이나 기타 장치를 통해서 환경을 분리(Isolation)한 것이 아니며, 다른 네임스페이스 간의 Pod 라도 통신 가능하다.

(K8S 기본 오브젝트) Label
 - 라벨은 K8S의 리소스를 선택하는데 사용
 - 각 리소스는 라벨을 가질 수 있고, 라벨 검색 조건에 따라서 특정 라벨을 가지고 있는 리소스만을 선택 가능
 - 특정 리소스만 배포하거나 업데이트할 수 있고 또는 라벨로 선택된 리소스만 Service에 연결하거나 특정 라벨로 선택된 리소스에만 네트워크 접근 권한을 부여하는 등의 행위 가능하다.
 - 라벨은 metadata 부분에 Key/Value 쌍으로 정의 가능하다.

(K8S 기본 오브젝트) Controller
 - 기본 오브젝트를 생성하고 관리
 - Controller는 Replication Controller, Replication Set, DaemonSet, Job, StatefulSet, Deployment 등 존재
 - Replication Controller : Pod를 관리해주는 역할을 수행 / 지정된 숫자로 Pod를 기동 및 관리 / 크게 3가지 파트로 구성: Replicas의 수, Pod Selector, Pod Template 등 3가지로 구성
 - ReplicaSet : Replication Controller의 신규 버전 / Replication Controller는 Equality 기반 Selector를 이용하지만, Replica Set은 Set 기반의 Selector를 이용
 - Deployment : Replication Controller와 Replica Set의 상위 추상화 개념 / 실제 운영에서는 Replicaset 혹은 Replication controller 보다는 더 추상화된 Deployment 사용
 - DaemonSet : Pod가 각각의 노드에서 하나씩만 돌게 하는 형태로 Pod를 관리하는 컨트롤러 / DS에 의해 관리되는 Pod는 모든 노드에 균등하게 하나씩만 배포 / 특정 노드에만 Pod를 배포할 수 있도록, Pod의 'Node Selector'를 이용해서 라벨을 이용하여 특정 노드만을 선택할 수 있게 지원
 - Job : Workload 모델 중에서 배치나 한 번 실행되고 끝나는 형태의 Workload 모델을 지원하는 Controller / Job에 의해서 관리되는 Pod는 Job이 종료되면, Pod를 같이 종료 / Job을 정의할 때 Container 스펙 부분에 image 뿐만 아니라, 컨테이너에서 Job을 수행하기 위한 Command 를 같이 입력 가능
 - StatefulSet : DB 등과 같이 상태를 가지는 Pod를 지원하기 위해서 StatefulSet 이라는 것이 새로 소개됨 / K8S의 Disk Volume에 대한 이해 필요함


*** 클러스터 전체를 관리하는 Contoller로써 마스트와 컨테이너가 배포되는 머신(가상머신이나 물리적인 서버머신)인 노드로 구성됨
*** K8S에서 영속성을 가지는 객체로 상태를 관리하기 위한 대상을 오브젝트로 정의
*** K8S Controller는 기본 오브젝트들을 생성 및 관리하는 역할 수행

반응형

Container와 Devops, MSA

개발 및 관리/클라우드 2023. 9. 6. 22:05 posted by HighLighter
반응형

* Container와 Devops
 1. 개발 환경을 컨테이너 기반 가상화 환경으로 구현하고 CI/CD 도구 및 개발방법론을 결합함으로써 코딩, 빌드 및 테스트를 보다 쉽고 빠르게 수행하며 개발 환경 자동화와 손쉬운 운영 환경 배포의 기반을 마련
 2. CI기술은 개발 과정에서 빠른 SW수정을 통해 품질 및 배포 속도를 향상시키며, CD기술은 SW업데이트를 업무 애플리케이션에 적용해 변경 사항을 보다 효율적으로 배포하도록 지원
 3. 컨테이너는 자동화 도구와 결합해 기업들의 개발 및 운영 과정의 민첩성을 향상
 4. 컨테이너 기반 가상화 환경은 컨테이너의 자동화된 배치, 확장 및 운영을 지원하는 오픈소스 관리 플랫폼 K8S와 결합해 사용
 5. DevOps와 MSA를 구현하기 위해 필요한 다양한 APP과 분석 툴

* MSA
 1. 관리 컨테이너: 개별 서비스 인스턴스에는 작동 할 컨텍스트가 필요. 가상 컴퓨터, Docker 컨테이너 또는 조정된 프로세스로 구현 된 관리 컨테이너는 이러한 기능을 제공, 인스턴스 관리 및 조정을 제공하고 필요에 따라 새 인스턴스를 회전하며 개별 인스턴스의 수명주기를 관리
 2. 외부 Gateway: MSA 구현은 비즈니스 응용 프로그램 및 응용 프로그램에서 사용할 수 있는 API 형태로 기능을 노출. 서비스 외부 게이트웨이는 이러한 서비스에 대한 액세스를 관리하고 트래픽 관리 및 보안 정책을 적용하여 MSA 환경을 보호. 외부 게이트웨이 기능은 종종 API 관리 제품을 사용하여 구현
 3. 서비스 메쉬: 서비스 간의 통신을 느슨하게 결합. 신뢰성 및 유연성을 유지하는데 도움이되는 기능으로 구성되어 서비스 분리, 버전 관리 전략 지원 및 부하시 탄성 확장성 관리가 가능. 서비스 라우팅, 로드 밸런싱, 서비스 발견, 구성 저장소, ID 공급자 기능
 4. 서비스 이미지 레지스트리: 사용자 환경의 어딘가에는 빌드되고 테스트 된 서비스의 불변 이미지를 저장하는 레지스트리로 코드 저장소(동적으로 생성된 서비스의 경우), Docker 이미지 레지스트리, 이진 아티팩트 저장소 또는 VM 이미지의 BLOB(Binary Large Object) 기반 저장소 등
 5. 메시지 지향 미들웨어: 가장 간단한 MSA 구현은 http와 같은 동기식 프로토콜 또는 gRPC 또는 Thrift와 같은 보다 효율적인 프로토콜을 사용하여 지속 가능하며 이벤트 및 메시지 중심 패턴을 지원하기 위해 비동기 메시징 채널이 필요
 6. 빌드 및 테스트 자동화: MSA의 개발 민첩성 이점은 개발 출력 품질을 극대화하고 전달을 간소화하기 위해 개발주기에서 높은 수준의 빌드 및 테스트 자동화가 필요
 7. 배포 자동화: 개발 민첩성 이점을 완전히 실현하려면 배포를 자동화

* 도커 컨테이너는 각 애플리케이션과 종속물이 운영체제 리소스의 분리된 세그먼트를 사용하는 방식으로 앱을 서로 그리고 기반이 되는 시스템으로 부터 분리한다.
* 컨테이너 기술은 민첩성을 확보하는 핵심 가상화 기술이며, 컨테이너 기반의 가상화 환경을 운영 관리하는 핵심 기술이 바로 K8S이다.
* 개발환경을 컨테이너 기반 가상화 환경으로 구현하고 CI/CD 도구 및 개발 방법론을 결합함으로써 코딩, 빌드 및 테스트를 보다 쉽고 빠르게 수행하며 개발 환경 자동화와 손쉬운 운영 환경 배포의 기반을 마련해준다.
* K8S는 상태를 관리하기 위한 대상을 Object로 정의하고 K8S 시스템에서 영속성을 가지며 클러스터의 상태를 나타내기 위해 이 객체를 이용한다. K8S 객체는 어떤 컨테이너화된 App이 동작 중인지(그리고 어느 노드에서 동작 중인지) 그 App이 이용할 수 있는 리소스, 그 App이 어떻게 재구동 정책, 업그레이드, 그리고 내고장성과 같은 것에 동작해야 하는지에 대한 정책 등의 내용을 포함한다.

https://kubernetes.io/docs/concepts/overview/components/

 

Kubernetes Components

A Kubernetes cluster consists of the components that are a part of the control plane and a set of machines called nodes.

kubernetes.io

출처 : https://kubernetes.io/docs/concepts/overview/components/

*K8S 개념
 - 클러스터 전체를 관리하는 컨트롤러로써 마스터
 - 컨테이너가 배포되는 머신(가상머신이나 물리적인 서버머신)인 노드

*K8S 오브젝트
 - 상태를 관리하기 위한 대상을 오브젝트로 정의
 - 오브젝트는 K8S 시스템에서 영속성을 가지는 객체
 - 클러스터의 상태를 나타내기 위해 이 개체를 이용
 - Basic Object, Controller, Object 스팩 및 메타 정보로 구성

*K8S 객체
 - 어떤 컨테이너화된 App이 동작 중인지(그리고 어느 노드에서 동작 중인지)
 - 그 App이 이용할 수 있는 리소스
 - 그 App이 어떻게 재구동 정책, 업그레이드, 그리고 내고장성과 같은 것에 동작해야 하는지에 대한 정책

*K8S Basic Object
 - 쿠버네티드에 의해서 배포 및 관리되는 가장 기본적인 오브젝트는 컨테이너화되어 배포되는 애플리케이션의 워크로드를 기술하는 오브젝트
 - 오브젝트는 사용자가 쿠버네티스에 바라는 상태(desired state)를 의미하고 컨트롤러는 객체가 원래 설정된 상태를 잘 유지할 수 있게 관리하는 역할
 - Pod, Service, Volume, Namespace 4가지
 - Pod는 컨테이너화된 App, Volume은 디스크, Service는 로드밸런서 그리고 Namespace는 패키지명

1. 마스터 컴포넌트는 클러스터 내 어떠한 머신에서도 동작 가능하다.

마스터 컴포넌트는 클러스터의 컨트롤 플레인을 제공하며 클러스터에 관한 전반적인 결정 (예를 들어, 스케줄링)을 수행하고 클러스터 이벤트(예를 들어, 디플로이먼트의 replicas 필드가 요구조건을 충족되지 않을 경우 새로운 파드를 구동 시키는 것)를 감지하고 반응한다. 또한 마스터 컴포넌트는 클러스터 내 어떠한 머신에서도 동작 가능하며 API Server, Controller Manager, Scheduler, etcd로 구성된다.

2. 노드 컴포넌트는 동작중인 파드를 유지시키고 쿠버네티스 런타임 환경을 제공하며, 모든 노드 상에서 동작된다. 

노드는 쿠버네티스에 있어서 워커 머신이며 클러스터에 따라 VM 또는 물리 머신이 될 수 있으며 동작중인 파드를 유지시키며 모든 노드에서 동작된다. 여러 개의 파드는 하나의 노드 위에서 동작할 수 있다.

반응형
반응형


K8S Imperative / Declarative Commands

 - imperative: 반드시 해야 하는
 - declarative: 서술문[평서문]의

1. Imperative Commands
 가. Create Objects
  > kubectl run --image=nginx nginx
  > kubectl create deployment --image=nginx nginx
  > kubectl expose deployment nginx --port 80

 나. Update Objects
  > kubectl edit deployment nginx
  > kubectl scale deployment nginx --replicas=5
  > kubectl set image deployment nginx nginx=nginx:1.18

  다. yaml파일 이용
  > kubectl create -f nginx.yaml
  > kubectl replace -f nginx.yaml
  > kubectl delete -f nginx.yaml

2. Declarative Commands
  > kubectl apply -f nginx.yaml


---------------------------------------------------------------------------------------------

Imperative Object Configuarion Files

1. Create Objects
  > kubectl create -f nginx.yaml

2. Update Objects
  > kubectl edit deployment nginx
  > kubectl replace -f nginx.yaml
  > kubectl replace --force -f nginx.yaml
  > kubectl create -f nginx.yaml
  > kubectl replace -f nginx.yaml

*** nginx.yaml

apiVersion: v1
kind: Pod
metadata:
  name: myapp-pod
  labels:
    app: myapp
    type: front-end-service

spec:
  containers:
   - name: nginx-container
     image: nginx:1.18

---------------------------------------------------------------------------------------------

Declarative Object Configuarion Files

1. Create Objects
  > kubectl apply -f nginx.yaml
  > kubectl apply -f /path/to/config-files

2. Update Objects
  > kubectl apply -f nginx.yaml

*** nginx.yaml

---------------------------------------------------------------------------------------------

Exam Tips

1. Create Objects
  > kubectl run --image=nginx nginx
  > kubectl create deployment --imag=nginx nginx
  > kubectl expose deployment nginx --port 80

2. Update Objects
  > kubectl edit deployment nginx
  > kubectl scale deployment nginx --replicas=5
  > kubectl set image deployment nginx nginx=nginx:1.18

---------------------------------------------------------------------------------------------

kubectl run nginx-pod --image=nginx:alpine
kubectl run --help
kubectl run redis --image=redis:alpine --labels="tier=db"

kubectl create service --help
kubectl create service clusterip --help
kubectl get pods

kubectl expose pod redis --port 6379 --name redis-service
kubectl get svc redis-service
kubectl describe svc redis-service

kubectl create deployment webapp --image=kodekcloud/webapp-color --replicas=3
kubectl get deploy

kubectl run custom-nginx --image=nginx --port=8080

kubectl create namespace dev-ns
kubectl create deployment redis-deploy --image=redis --replicas=2 -n dev-ns
kubectl get deployment -n dev-ns
kubectl run httpd --image=httpd:alpine --port=80 --expose=true
kubectl run --help
kubectl get pod
kubectl get sv
kubectl describe svc httpd














반응형
반응형

apiVersion: v1
kind: Service
metadata:
  name: myapp-service

spec:
  type: LoadBalancer
  ports:
   - targetPort: 80
     port: 80
     nodePort: 30008

----------------------------------------------------------------------------------------------

apiVersion: v1
kind: Service
metadata:
  name: webapp-service
spec:
  type: NodePort
  ports:
   - targetPort: 8080
     port: 8080
     nodePort: 30080
  selector:
    name: simple-webapp

kubectl create -f service-definition-1.yaml

----------------------------------------------------------------------------------------------

kubectl get service
kubectl get svc
kubectl describe svc kubernetes
kubectl describe deploy
kubectl describe deploy simple-webapp-deployment

----------------------------------------------------------------------------------------------

반응형

'개발 및 관리 > 클라우드' 카테고리의 다른 글

Container와 Devops, MSA  (0) 2023.09.06
K8S Imperative / Declarative Commands  (0) 2023.09.04
K8S, Services Command  (0) 2023.08.29
K8S, Deployment Command  (0) 2023.08.28
K8S, ReplicaSets Command  (0) 2023.08.28

K8S, Services Command

개발 및 관리/클라우드 2023. 8. 29. 08:59 posted by HighLighter
반응형

service-definition.yml

apiVersion: v1
kind: Service
metadata:
  name: back-end

spec:
  type: ClusterIP
  ports:
   - targetPort: 80
     port: 80

  selector:
    app: myapp
    type: back-end

------------------------------------------------------------------------------------------

kubectl create -f 
service-definition.yml
kubectl get services

------------------------------------------------------------------------------------------

Services-LoandBalancer


apiVersion: v1
kind: Service
metadata:
  name: myapp-service

spec:
  type: LoadBalancer
  ports:
   - targetPort: 80
     port: 80
     nodePort: 30008

----------------------------------------------------------------------------------------------

apiVersion: v1
kind: Service
metadata:
  name: webapp-service
spec:
  type: NodePort
  ports:
   - targetPort: 8080
     port: 8080
     nodePort: 30080
  selector:
    name: simple-webapp

kubectl create -f service-definition-1.yaml

----------------------------------------------------------------------------------------------

kubectl get service
kubectl get svc
kubectl describe svc kubernetes
kubectl describe deploy
kubectl describe deploy simple-webapp-deployment

----------------------------------------------------------------------------------------------

반응형

K8S, Deployment Command

개발 및 관리/클라우드 2023. 8. 28. 23:13 posted by HighLighter
반응형

kubectl create -f deployment-definition.yml

kubectl get deployments

kubectl get replicaset

kubectl get pods

kubectl get all

https://kubernetes.io/docs/reference/kubectl/conventions/

Create an NGINX Pod

kubectl run nginx --image=nginx

Generate POD Manifest YAML file (-o yaml). Don't create it(--dry-run)

kubectl run nginx --image=nginx --dry-run=client -o yaml

Create a deployment

kubectl create deployment --image=nginx nginx

Generate Deployment YAML file (-o yaml). Don't create it(--dry-run)

kubectl create deployment --image=nginx nginx --dry-run=client -o yaml

Generate Deployment YAML file (-o yaml). Don’t create it(–dry-run) and save it to a file.

kubectl create deployment --image=nginx nginx --dry-run=client -o yaml > nginx-deployment.yaml

Make necessary changes to the file (for example, adding more replicas) and then create the deployment.

kubectl create -f nginx-deployment.yaml

OR

In k8s version 1.19+, we can specify the --replicas option to create a deployment with 4 replicas.

kubectl create deployment --image=nginx nginx --replicas=4 --dry-run=client -o yaml > nginx-deployment.yaml

-----------------------------------------------------------------------------------------

kubectl get pods
kubectl get rs
kubectl get deployments

kubectl get rs

kubectl get pods

kubectl describe pod frontend-deployment-xxxxx-xxxx

kubectl create -f deployment-definition-1.yaml

-----------------------------------------------------------------------------------------

kubectl create deployment --help

kubectl create deployment httpd-frontend --image=httpd:2.4-alpine --replicas=3

kubectl get deploy

kubectl get deploy

-----------------------------------------------------------------------------------------

반응형

'개발 및 관리 > 클라우드' 카테고리의 다른 글

K8S Imperative / Declarative Commands  (0) 2023.09.04
K8S, Services Command, Services-LoandBalancer  (0) 2023.09.01
K8S, Services Command  (0) 2023.08.29
K8S, ReplicaSets Command  (0) 2023.08.28
쿠버네티스 KCA 관련 자료 URL  (0) 2023.08.03

K8S, ReplicaSets Command

개발 및 관리/클라우드 2023. 8. 28. 20:45 posted by HighLighter
반응형

ReplicaSets Command

> kubectl create -f replicaset-definition.yml

> kubectl get replicaset

> kubectl delete replicaset myapp-replicaset   *Also deletes all underlying PODs

> kubectl replace -f replicaset-definition.yml

> kubectl scale -replicas=6 replicaset-definition.yml

-----------------------------------------------------------------------------------------

kubectl get pods

kubectl get replicaset

kubectl describe replicaset new-replica-set

kubectl describe pod new-replica-set-7r2qw

-----------------------------------------------------------------------------------------

kubectl get pods

kubectl delete pod new-replica-set-wkzjh

-----------------------------------------------------------------------------------------

ls /root
kubectl create -f /root/replicaset-definition-1.yaml

cat /root/replicaset-definition-1.yaml

kubectl explain replicaset

-----------------------------------------------------------------------------------------

kubectl get rs
kubectl delete rs replicaset-1
kubectl delete rs replicaset-2

-----------------------------------------------------------------------------------------

kubectl get rs
kubectl edit rs new-replica-set
kubectl get pods
kubectl get rs
kubectl describe rs

kubectl delete pod new-replica-set-vpkh8 new-replica-set-tpkh1 new-replica-set-ipkh3 new-replica-set-lpkh5

kubectl get pods
kubectl get rs

-----------------------------------------------------------------------------------------

kubectl scale rs new-replica-set --replicas=5
kubectl get pods
kubectl edit rs new-replica-set

-----------------------------------------------------------------------------------------

kubectl edit rs new-replica-set

반응형

'개발 및 관리 > 클라우드' 카테고리의 다른 글

K8S Imperative / Declarative Commands  (0) 2023.09.04
K8S, Services Command, Services-LoandBalancer  (0) 2023.09.01
K8S, Services Command  (0) 2023.08.29
K8S, Deployment Command  (0) 2023.08.28
쿠버네티스 KCA 관련 자료 URL  (0) 2023.08.03
반응형
반응형
반응형
반응형

'개발 및 관리 > 클라우드' 카테고리의 다른 글

K8S Imperative / Declarative Commands  (0) 2023.09.04
K8S, Services Command, Services-LoandBalancer  (0) 2023.09.01
K8S, Services Command  (0) 2023.08.29
K8S, Deployment Command  (0) 2023.08.28
K8S, ReplicaSets Command  (0) 2023.08.28