목록Infra (30)
Study Memory Work

Deployment 컨테이너 기반으로 애플리케이션을 동작시킬 때 가장 많이 사용하는 API (배포) Pod를 직접 실행하지 않고 Deployment를 이용하여 컨테이너를 실행하는가? ReplicaSet 컨트롤러를 통해 replica 수 보장 및 scaling in/out 가능 (Pod직접실행 시, watch해주는 controller가 없어서 오류가 나면 재실행되지 않음.) Rolling update 또는 Roll back 지원 동작과정 : deployment 명령을 내리면 Deployment 가 생성, ReplicaSet controller 생성 controller 가 pod 실행/보장 deployment yaml 파일 구조 apiVersion: apps/v1 kind: Deployment metadat..

Pod Static Pod multi-container Pod sidecat-container Pod Pod 어플리케이션 컨테이너를 실행할 때 Pod를 통해서 실행시킬 수 있다. Pod란 컨테이너를 표현하는 k8s API의 최소 단위 Pod에는 하나 또는 여러 개의 컨테이너가 포함될 수 있음 동작방식 : master 컴포넌트에 Pod 실행 명령을 내리면 Api 서버가 명령을 받아 인증 Scheduler가 어느 node에서 실행시킬 지 결정 한 후 해당 node에 명령을 전달하여 Pod를 동작시킨다. Pod 생성 방법 1. CLI 명령어로 Pod 생성하기 $ kubectl run {podName} --image=nginx:1.14 --port=80 # nginx:1.14버전의 컨테이너를 실행해라. $ ku..

API 인증 종류 역할기반 인증 (rbac) attribute기반 인증 (abac) API 인증이란(rbac)? API서버에 접근하기 위해서는 인증 작업 필요 Role-based access control(RBAC.역할 기반 액세스 제어) 사용자의 역할에 따라 리소스에 대한 접근 권한를 가짐 User 인증: 클러스터 외부에서 쿠버네티스를 조작하는 사용자 인증 Service Account 인증: Pod가 쿠버네티스 API를 다룰 때 사용하는 계정 1.인증 / 2.권한 / 3.요청범위 확인 1-1. 인증 : User 인증 아래 명령을 실행한다고 했을 때, $ kubectl get pods username과 인증서와 함께 API server에 요청하게 된다. (.kube/config 파일에 user정보와 인증..
worker node 오류 메세지 The connection to the server localhost:8080 was refused - did you specify the right host or port? 솔루션 $ mkdir -p $HOME/.kube $ sudo scp root@{master node name}:/etc/kubernetes/admin.conf $HOME/.kube/config
Kubernetes Packages 구성요소 • kubeadm : 클러스터를 부트스트랩하는 명령 • kubelet : Pod와 Container시작과 같은 작업을 수행하는 컴포넌트 • kubectl : 클러스터와 통신하기 위한 커맨드 라인 유틸리티 Kubernetes Cluster upgrade - 현재 운영중인 버전보다 높은 버전을 설치하는 것. - 종류 : Master(Control plane) node upgrade Worker node upgrade Kubernetes Cluster upgrade 실습 Upgrading kubeadm clusters This page explains how to upgrade a Kubernetes cluster created with kubeadm from ve..

ETCD 현재 운영되고 있는 k8s의 운영정보가 들어있는 저장소. etcd가 손상되면 모든 어플리케이션 서비스가 중지된다. 그렇기 때문에 동일한 데이터를 가지고 있는 etcd를 여러대 둔다. --> master를 여러대로 분산 운영한다. (고가용성 클러스터 환경) • Coreos가 만든 분산 key:value형태의 데이터 스토리지 • 쿠버네티스 클러스터의 정보를 저장(memory)해서 사용 • 모든 etcd 데이터는 etcd 데이터베이스 파일에 보관 : /var/lib/etcd • etcd관리명령: etcdctl ETCD 동작 하나의 static pod형태로 동작하고 있다. ( yaml file path : /etc/kubernetes/mainifests/stcd.yaml ) # etcd pod로 떠있는..