본문 바로가기

K8s

(16)
K8S - strorage [유형]> DirectoryOrCreate : 지정 경로에 디렉터리 없을 시 생성> Directory : 지정 경로에 디렉터리 반드시 존재 / 없을 시 오류 발생> FileOrCreate : 지정 경로에 없을 시 생성> File : 지정 경로에 없을 시 오류 발생 / 반드시 존재1. [마스터에 볼륨을 마운트 위한 YAML 파일] X각 노드 mkdir webvi index.htmlvi host.ymlapiVersion: v1kind: Podmetadata: name: myhostspec: volumes: - name: html hostPath: path: /web type: containers: - name: nginx image: nginx:1.14 volum..
K8S -MONGO DB 1. Secret (MongoDB ID/PW)apiVersion: v1kind: Secretmetadata: name: mgdbtype: Opaquedata: mongo-root-username: YWRtaW4= # admin (base64 인코딩) mongo-root-password: cGFzc3dvcmQ= # password (base64 인코딩)2. MongoDB Deployment + ServiceapiVersion: apps/v1kind: Deploymentmetadata: name: mymongo labels: app: mgdbspec: replicas: 1 selector: matchLabels: app: mgdb template: met..
K8S - ConfigMap -1 1. ConfigMap컨테이너 변수,구성 정보 취합하여 관리 기능Key와 Value 의 한 쌍으로 구성DB_PASSWORD: p@ssw0rd암호화 필요없는 일반 데이터 저장하는 API 객체ConfigMap은 애플리케이션의 설정 관리 위한 쿠버네티스 리소스🔧 “파드 안에서 쓰는 설정파일이나 환경변수 모음”을 외부에서 관리하는 방법왜 써야 할까?파드에 직접 설정값을 넣으면 이미지를 다시 빌드해야 함ConfigMap으로 설정을 분리하면 → 이미지 수정 없이 설정만 바꿔도 됨환경별 설정 분리 (dev, prod) 할 때도 유리ConfigMAp 구성키 값으로 사용할 파일 제작echo 'localhost' > usr.txtecho 'DEBUG' > DEBUG_INFOkubectl 명령어로 myconfig 생성 및..
Labels/ Annotations 1. Label클러스터 내부에서 객체 구별위한 임의 식별자하나 이상의 레이블 존재 가능설정 형식 = 키 : 값ex) label : test✅ 역할Kubernetes 리소스 분류 및 선택(Select)selector로 사용 가능 Service, Deployment, ReplicaSet 연결 고리 역할을 함✅ 특징key-value 쌍 형태빠르게 조회/검색/선택 가능제한된 크기: key는 63자 이하총 label 수는 제한 있음 (보통 64개 이하 권장)용도가 시스템 로직에 직접 관여함ReplicaSet, Service 연결, 롤링 업데이트 등 핵심 기능 레이블 없는 파드 생성 YAML apiVersion: v1kind: Podmetadata: name: nolabelspec: containers: ..
K8S - ingress [Ingress]정의 및 역할기존의 서비스 거치지 않고 API 확인 후 POD 에 직접 접근 가능클러스터 밖에서 내부로 접근하는 요청 시 처리 방식1. HTTP/HTTPS 통해 외부에서 내부 접근 가능 유도 2. 클러스터 외부에서 접근 가능한 URL 제공3. 트래픽 로드밸런싱4. SSL/TLS 인증서 처리5. 도메인 기반 가상 호스팅 제공여러 서비스를 동일한 IP 주소 아래에서 운영 가능접근 관리가 효율적인 API 객체 2. 필요성서비스의 한계 극복( 하나의 서비스에 하나의 포트 )서비스 포트가 아닌 경로 기반 라우팅으로 컨테이너 접근 방식 3. 접근 방식 -> svc1-webserver POD -> svc2-webserver POD -> svc3-webserver POD 4. 구성요소Ingr..
K8S - Service [Service]Cluster IP 10.233.0.0/18SM : 10.233.0.0 - 10.233.63.255Service Pod: 10.233.64.00.00 - 10.233.255.255서비스 유형🔹 1. ClusterIP (기본값)역할: 클러스터 내부에서만 접근 가능한 고정 IP 제공외부 접근: ❌ (클러스터 내부에서만 사용 가능)특징 : 동일 레이블 가지는 파드에 대한 단일 지점 가상 IP 주소 제공서비스 유형 미지정 시 디폴트값 제공주 용도: 파드 간 통신, 마이크로서비스 구조에서 내부 백엔드 연결예시: 프론트엔드 → 백엔드, 백엔드 → DB1-1 . 자동할당vi cluster.ymlapiVersion: v1kind: Servicemetadata: name: mycluster sp..
K8S - STATEFULSET StatefulSet상태를 가지는(=stateful) 애플리케이션 관리 리소스apiVersion: ***apps/v1***kind: ***StatefulSet***metadata: name: setspec: replicas: 3 selector: matchLabels: app: webui template: metadata: name: mypod labels: app: webui spec: containers: - name: mycon image: nginx:1.14 kubectl describe sts [set] 🔧 StatefulSet의 주요 특징기능 설명고정된 이름(host..
k8S - REPLICASET 해당 노드 배포된 파드 삭제 시 해당 노드 네트워크 통신 불가 경우삭제 불가ReplicaSet 의 경우 kubectl edit rs [] 변경 시 미적용tag 명시 해줘야 추후 편집 시 충돌 없음Deploy,statefulset 경우kubectl edit deploy/sts [] 변경 시 자동 재생성kubectl scale rs my-rs --replicas 3kubectl scale deploy my-rs --replicas 3kubectl scale --replicas 5 sts/[set] [연산자]연산자 어떤 노드에 파드를 스케줄링 여부 결정 조건- In : key 와 values 지정 -> key,value 일치 파드 검색- Notin : key 일치 / value 불일치 파드 검색- Exsit..