지니데비 기록 자세히보기
반응형

유데미 24

[Kubernetes] 28. Secret

쿠버네티스의 Secret은 암호, 토큰, 키 같은 민감한 데이터를 관리하는 컴포넌트이다. key-value로 저장되는 것이 ConfigMap과 유사하지만, value값이 base64 인코딩되어 저장되는 점은 다르다. (암호화 X)Secret 생성# 명령어로 생성kubectl create secret generic [secret name] --from-literal=[key]=[value]kubectl create secret generic [secret name] --from-file=[file path]kubectl create secret generic \ app-secret --from-literal=DB_Host=mysql --from-literal=DB_User=r..

[Kubernetes] CKA 취득 성공

시험 복기하면서 틀린 부분이 디테일하게 계속 생각나서 불합격할까봐 걱정했지만.. 84점으로 합격했다. 할 수 있는 데까지 하면 부분점수를 주는 것 같다.헷갈렸던 부분은...networkpolicy 만들 때 namespace로 ingress를 설정하되 namespace A에서는 되지만 namespace B에서는 안되게 설정하는 부분etcd복구할 때 datadir 옵션 안 주면 자동으로 /default.etcd 경로에 연결이 된다고 한다. etcd yaml volume 수정해줄 것! 그냥 명시해서 옵션 지정해 주는 것이 좋다.kubelet permanently 활성화 할 땐 systemctl enable --now kubelet이다. restart 아니다.참고로...리눅스 UI 서버가 익숙지 않아서 파이어폭..

[Kubernetes] 27. ConfigMap

ConfigMap과 Secret은 환경설정 데이터를 관리하기 위한 리소스이다. 애플리케이션에서 환경변수나 설정파일처럼 사용할 수 있는 키-값 쌍을 저장한다. 컨테이너 이미지와 설정 데이터가 분리되어 있어 배포 시 유연성을 높여준다.ConfigMap 생성# 리터럴 데이터로 생성kubectl create configmap [config name] --from-literal=[key]=[value]kubectl create configmap app-config --from-literal=APP_COLOR=blue --from-literal=APP_MODE=prod# 파일로 생성kubectl create configmap [config name] --from-file=[file path]kubectl creat..

[Kubernetes] 26. Environment Variables

기본 환경변수 설정(env)apiVersion: v1kind: Podmetadata:  name: simple-webapp-colorspec:  containers:  - name: simple-webapp-color    image: simple-webapp-color    ports:      - containerPort: 8080    env:      - name: APP_COLOR        value: pink      - name: APP_MODE        value: prodConfigMap에 저장된 값으로 환경변수 설정(valueFrom.configMapKeyRef)apiVersion: v1kind: Podmetadata:  name: simple-webapp-colorspec:  ..

[Kubernetes] 25. Command, Arguments + Dockerfile

docker run ubuntudocker psdocker ps -a # 종료된 컨테이너 포함docker run ubuntu [command]docker run ubuntu sleep 5FROM UbuntuCMD sleep 5CMD ["sleep","5"] # json 포맷으로 지정해야함docker build -t ubuntu-sleeper .docker run ubuntu-sleeperFROM UbuntuENTRYPOINT ["sleep"]CMD ["5"] # sleep 5 실행 docker run ubuntu-sleeper 10docker run --entrypoint sleep2.0 ubuntu-sleeper 10docker run --name ubuntu-sleeper ubuntu-sleeperd..

[Kubernetes] 24. Rolling Update, Rollback

Recreate vs Rolling Update (default)Recreate는 기존버전을 모두 종료한 후(다운타임 발생) 새 버전의 Pod를 생성하여 배포하는 반변, Rolling Update는 애플리케이션을 다운타임 없이 새 버전으로 점진적으로 업데이트하는 방법이다. 기존의 Pod를 하나씩 종료하고 새 버전의 Pod를 생성하면서 배포해, 전체 시스템의 가용성을 유지할 수 있다. 작동 방식새 버전의 Pod를 하나씩 생성하고, 기존 버전의 Pod를 하나씩 삭제한다.이 과정을 반복하여 모든 Pod가 새 버전으로 전환될 때까지 진행한다.배포 중에 문제가 생기면 중간에 멈출 수 있고, 특정 시점부터 재개할 수 있다.장점서비스 다운타임 없이 업데이트할 수 있다.대규모 애플리케이션에서도 사용자가 영향을 거의 받..

[Kubernetes] 23. Managing Application Logs

실시간 로그 확인kubectl logs [pod name]위 방법은 일회성 조회이므로 일정 시간이 지난 로그는 볼 수 없으며, Pod가 사라지면 로그도 사라진다.중앙 집중형 로그 수집 시스템 사용여러 Pod와 노드에서 생성된 로그를 하나의 시스템으로 수집하여 쉽게 검색하고 분석할 수 있다.주요 도구 및 설정 방법EFK Stack (Elasticsearch, Fluentd, Kibana)Fluentd: 로그를 수집하고 Elasticsearch로 전달하는 역할을 해. 각 노드에서 Fluentd가 컨테이너 로그를 수집해 Elasticsearch에 전송한다.Elasticsearch: 데이터를 저장하고, 빠르게 검색할 수 있는 검색 엔진이다.Kibana: 시각화 도구로, 로그를 대시보드 형태로 보여줘서 쉽게 분석..

[Kubernetes] 22. Monitoring

Monitoring 목적 1. 리소스 사용 최적화CPU, 메모리와 같은 리소스 사용량을 확인하여 노드, Pod, 컨테이너가 필요한 리소스를 적절히 사용하고 있는지 확인할 수 있다.불필요한 자원 낭비를 줄이고, 필요한 리소스를 적절히 할당하여 클러스터 운영 비용을 줄일 수 있다.2. 장애 대응Pod, 노드 또는 애플리케이션에서 오류가 발생할 경우 신속히 탐지하여 대응할 수 있다.특히 오류 발생 시 자동 알림 설정을 통해 빠르게 문제를 파악하고 복구할 수 있게 된다.3. 성능 개선애플리케이션의 응답 시간, 처리량, 지연 시간과 같은 성능 지표를 수집하여 병목 구간을 찾아낼 수 있다.이를 통해 애플리케이션과 클러스터의 전반적인 성능을 향상시킬 수 있다.4. 장기적인 용량 계획:리소스 사용 데이터를 장기적으로 ..

[Kubernetes] 21. Scheduler Profiles

Scheduler Profiles쿠버네티스에서 단일 스케줄러 인스턴스 내에서 서로 다른 스케줄링 전략을 사용하도록 지원하는 기능여러 개의 Scheduler Profile을 설정해 놓으면, 각 워크로드에 맞는 다양한 스케줄링 정책을 설정할 수 있다.다양한 스케줄링 요구사항을 단일 스케줄러 프로세스 내에서 해결할 수 있기 때문에, 다중 스케줄러를 배포하는 부담을 덜면서도 효율적인 스케줄링을 가능하게 한다.구성 요소Filter, Score, PreFilter, PostBind 등 여러 유형이 있고, 각 프로필에서 필요한 플러그인을 켜고 끌 수 있다.특징각 Scheduler Profile에는 schedulerName이 붙어 있어, 특정 Pod가 schedulerName을 통해 특정 프로필을 사용하도록 설정할 수..

반응형