linux => debian - ubuntu => redhat - centos - Rocky linuxchroot : 유저/파일/네트워크 격리cgroup : cpu/memory 격리namespace : 프로세스 격리애플리케이션 코드와 그 실행에 필요한 모든 의존성(
virtualVM실제 master node vm 생성에 사용vagrantvm 생성 시 환경 구축 설정을 파일로 관리(IaC: Infrastructure as Code)mobaxmaster node에 ssh 접근할 때 사용1~4 : 노드 공통5~6 : Master Nod
개발과 모니터링 시스템이 엮일 수 밖에 없는 구조개발단계에 모니터링 환경이 구축되지 않아서 모니터링이 구축되면 불필요해지는 개발사항이 제품에 포함됨모니터링 범위에 일부 app들이 누락될 수 있음개발과 모니터링 시스템이 독립적으로 구축됨배포환경과 모니터링 시스템이 동시
쿠버네티스 리소스를 논리적으로 구분하는 단위 (예: 개발, 테스트, 운영)Namespace 삭제 시 포함된 리소스들도 함께 삭제됨클러스터 내부 또는 외부 트래픽을 적절한 Pod에 전달해주는 추상화 계층주요 타입: ClusterIP, NodePort, LoadBalanc
3-1 Rocky Linux 버전 확인3-2 Hostname 확인root@k8s-master ~k8s-master3-3, 3-4 Network 확인3-5 자원(cpu, memory) 확인4 Rocky Linux 기본 설정5 kubeadm 설치 전 사전작업방화벽 해제 확
livenessProbe
개발 소스코드 환경변수jenkins 환경변수ConfigMap(CICD 환경변수)적용 우선순위
HPA
Node, VM
▶ 응용1 : startupProbe가 실패 되도록 설정해서 Pod가 무한 재기동 상태가 되도록 설정해 보세요. ▶ 응용2 : 일시적 장애 상황(App 내부 부하 증가)가 시작 된 후, 30초 뒤에 트래픽이 중단되고, 3분 뒤에는 App이 재기동 되도록 설정해 보세요.
▶ 응용1 : Configmap의 환경변수들을 Secret을 사용해서 작성하고, App에서는 같은 결과가 나오도록 확인해 보세요.1\. secret 설정 deployment 설정▶ 응용2 : 반대로 Secret의 DB정보를 Configmap으로 만들어보고 App을 동작
▶ 1~4. local 동작 확인▶ 5. hostPath 동작 확인 - Deployment 수정 후 1~4 실행▶ 1. RollingUpdate 하기(maxUnavailable: 25%, maxSurge: 25%)=> pod 1/4씩 생성/제거 (전체 pod 개수 2개
CI/CD, 인프라, 모니터링 환경 구성개발된 소스코드 build 자동화mavengradlenexusdockerjunitjmeterjacoco배포 자동화DockerfileyamlargoCDkustomizehelmdockerhubcontainerdetcdnginxcali
3-1. CI/CD 서버에서 초기 비밀번호 확인3.2 Jenkins 대시보드 접속해서 확인한 비밀번호 입력http://192.168.56.20:8080/login3.3 플러그인 설치권장설정 설치3.4 Admin 사용자 생성전역 설정 (JDK, Gradle)4.