Coreos가 만든 분산 key:value 형태의 데이터 스토리지쿠버네티스 클러스터의 정보를 저장(memory)해서 사용모든 etcd 데이터는 etcd 데이터베이스 파일에 보관 : /var/lib/etcdetcd 관리 명령 : etcdctletcdctl 설치 확인ETC
kubeadm : 클러스터를 부트스트랩하는 명령kubelet : Pod와 Container 시작과 같은 작업을 수행하는 컴포넌트kubectl : 클러스터와 통신하기 위한 커맨드 라인 유틸리티✍ OS 버전 확인 명령$ sudo cat /etc/os-release✍ 업그레
API 서버에 접근하기 위해서는 인증작업 필요사용자의 역할에 따라 리소스에 대한 접근 권한을 가짐User : 클러스터 외부에서 쿠버네티스를 조작하는 사용자 인증Service Account : Pod가 쿠버네티스 API를 다룰 때 사용하는 계정특정 유저나 ServiceA
1. Pod란? 컨테이너를 표현하는 k8s API의 최소 단위 Pod에는 하나 또는 여러 개의 컨테이너가 포함될 수 있음
쿠버네티스 클러스터에서 애플리케이션을 배포하는 가장 일반적인 방식ReplicaSet 컨트롤러를 통해 replica 수 보장 및 scaling 가능Rolling update 또는 Rollback 지원scale-out : 애플리케이션 Pod수를 확장하여 처리능력을 향상sc
컨테이너를 포함한 Pod는 node에서 실행됨node는 Control-plane에 의해 관리특정 node의 스케줄링 중단(cordon) 및 허용(uncordon)특정 node에서 실행중인 pod 비우기(drain) 및 제거(delete)✍ --ignore-daemons
Worker node에 할당된 label을 이용해 node를 선택node Label 설정다음의 조건으로 pod를 생성하세요Name: eshop-storeImage: nginxNode selector: disktype=ssd어느 node에서 disktype이 ssd인지
Pod network : CNI(Container Network Interface)에서 관리하는 포트 간 통신에 사용되는 클러스터 전체 네트워크Service Network : Service discovery를 위해 kube-proxy가 관리하는 Cluster-wide
모든 노드를 대상으로 외부 접속 가능한 포트를 예약Default NodePort 범위 : 30000~32767ClusterIP를 생성 후 NodePort를 예약작업 클러스터 : k8s'front-end' deployment의 nginx 컨테이너를 expose하는 'fr
L7 스위치 역할을 논리적으로 수행클러스터로 접근하는 URL 별로 다른 서비스에 트래픽을 분산Kubernetes Ingress의 기능Service에 외부 URL을 제공트래픽을 로드밸런싱SSL 인증서 처리Virtual hosting을 지정작업 클러스터 : k8singre
Volume은 kubernetes 스토리지의 추상화 개념컨테이너는 Pod에 바인딩 되는 볼륨을 마운트하고 마치 로컬 파일 시스템에 있는 것처럼 스토리지에 접근Kubernetes 스토리지emptyDirHostpathgitReponfsgcePersistentDisk, aw
1. Kubernetes Volume 운영환경 분리 기본 스토리지 운영환경을 분리 관리자 : 스토리지 구성 개발자 : 필요한 만큼 요구 PersistentVolumes : 관리자에 의해 생성된 볼륨 PersistentVolumeClaims : 사용자가
지정한 Pod 내의 특정 컨테이너 애플리케이션 로그 확인작업 클러스터 : hk8sPod custom-app의 로그 모니터링 후 'file not found' 오류가 있는 로그 라인 추출(Extract)해서 /var/CKA2022/CUSTOM-LOG001 파일에 저장하시