본문 바로가기

INFRA246

쿠버네티스 이론 STEP13 Scheduling 3 Cordon & Uncordon & Drain pod- scheduling 정책을 변경할 수 있는 명령어 kubectl cordon, drain, taint cordon kubectl cordon 특정 노드를 선택하여 스케줄 대상에서 제외시킴. 현재 노드에 배포된 pod는 그대로 유지하면서 추가적인 pod의 배포를 제한하는 명령어. cordon명령어를 실행하면 선택한 특정 노드가 SchedulingDisabled 상태가 됨 uncordon kubectl uncordon 특정 노드를 SchedulingDisabled 상태를 제거하고 노드에 pod가 정상적으로 스케줄링 될 수 있도록 복구하는 명령어. drain kubectl drain 선택한 특정 노드가 SchedulingDisabled 상태가 될 뿐만 아니라 노드에 남아있는 pod를 모두 삭제하고 재.. 2022. 10. 5.
Terraform 리소스에 대한 이해 - AWS 2편 안녕하세요! 하씨가문의 영광입니다. 이번에는 Terraform 리소스 AWS 환경에서의 2편인데요!! 한번 시작해볼까요! 고고~~ aws_eip EIP는 Elastic IP로 동적 클라우드 컴퓨팅을 위해 고안된 고정 Public IPv 주소 입니다 resource "aws_eip" "example_eip" { vpc = true network_interface = aws_network_interface.multi-ip.id associate_with_private_ip = "10.0.0.11" } resource "aws_eip" "(리소스이름)" { } 블록내의 인수는 다음과 같습니다. 특이하게도 여기에서는! 모든 인수들이 선택 사항 입니다. address : EC2 BYOIP 풀의 IP 주소입니다. .. 2022. 10. 4.
[K8s] Deployment Deployment란? ReplicaSet을 제어해서 pod수를 조절하는 부모역할 Rolling update & Rolling back pod를 점진적으로 새로운 것으로 update하여 deployment update가 서비스 중단 없이 이루어질 수 있도록 하는 것 Rolling update : kubectl set image deployment = --record --record : update 과정을 history로 기록 Rolling back : kubectl rollout history deployment kubectl rollout undo deploy 롤링 업데이트 수행하기 definition apiVersion: apps/v1 kind: Deployment # kind 값만 다를 뿐 Repl.. 2022. 10. 4.
Terraform 리소스에 대한 이해 - AWS 3편 안녕하세요! 하씨가문의 영광입니다! 지난주 Terraform AWS EC2까지 다루었는데요! 이번에는 AWS의 DB를 다뤄보도록 하겠습니다:) Don't have a good day, Have a great day! ▶ 목차 aws_db_subnet_group aws_db_instance aws_db_security_group aws_db_parameter_group 1. aws_db_subnet_group resource "aws_db_subnet_group" "default" { name = "main" subnet_ids = [aws_subnet.frontend.id, aws_subnet.backend.id] tags = { Name = "My DB subnet group" } } 필수 설명 옵션 .. 2022. 10. 4.
쿠버네티스 이론STEP12 Scheduling 2 Affinity & AntiAffinity ABTCEFG♪ 안녕하세요, 여러분! BTC_뚜벅이입니다. 지난 주 taint와 toleration에 대해 알아보았는데요. 이번 주엔 Affinity와 AntiAffinity에 대해 알아보도록 할게요. 1. Affinity와 AntiAffinity란? 특정 Node나 Pod와의 거리를 조절하는데 사용합니다. 특정 Pod나 Node끼리 가까이 스케줄링 하고 싶은 경우 Affinity를, 멀리 스케줄링 하고 싶은 경우 AntiAffinity를 사용합니다. 1-1. NodeAffinity Pod가 특정 Node에 할당되길 원할 때 사용합니다. nodeSlector와의 차이점은 옵션을 사용해서 소프트하게 조절이 가능합니다. 여기서 말하는 옵션이란 라벨 선택을 강제하거나(requiredDuringSchedulin.. 2022. 10. 4.
쿠버네티스 이론STEP11 Scheduling 1 Taint & Toleration ABTCEFG♪ 안녕하세요, 여러분! BTC_김쿼카입니다. 쿠버네티스의 스케줄링에 대해 알아보는 첫번째 시간! 오늘은 taint와 toleration에 대해 알아보도록 해요. taint Node에 적용되는 속성으로, Node에 스케줄링될 Pod를 제한할 수 있는 기능을 제공함 노드마다 설정 가능하며, 설정한 노드에는 pod가 스케줄 되지 않음 taint 옵션 NoSchedule toleration이 없으면 pod가 스케줄되지 않음 기존에 실행되던 pod에는 적용되지 않으며 앞으로 실행될 Pod에 대해서만 스케줄링 제한 PreferNoSchedule toleration이 없으면 pod가 스케줄되지 않음 기존 실행 중인 Pod에는 적용되지 않으며, 앞으로 생성될 Pod도 스케줄링 되는 것을 선호하진 않지만 .. 2022. 9. 27.
Gitlab에대해 베~하~ 안녕하세요 여러분~~! BetterMonday팀 입니다!! 오늘은 GitLab에 대해 알아보고 서버에 간단하게 설치를 해보도록 하겠습니다 그럼 슈우우웃~ GitLab이란? GItLab은 이슈,코드 리뷰, CI/CD를 단일 UI로 통합하는 통합 제품입니다. GitLab Inc는 GitLab.com 을 위한 자체 호스팅 제품 및 SaaS 플랜을 제공합니다. GitLab은 대규모 커뮤니티가 있는 오픈 소스 프로젝트입니다.서비스 형 원격저장소를 운영하는 것에 대한 비용이 부담되거나, 소스코드의 보안이 중요한 프로젝트에 적당합니다. 장점 개인 서버에 설치 가능 비공개 프로젝트를 무료로 진행할 수 있음 Git 원격 저장소를 제공함 다운로드 지금부터는 GItLab을 서버에 설치해 보도록 하겠습니다! 저희는 .. 2022. 9. 27.
[K8s] ReplicationController & ReplicaSet ReplicationController란? 요구하는 pod의 개수를 보장하며 pod 집합의 실행을 항상 안정적으로 유지하는 것을 목표 요구하는 pod의 개수가 부족하면 template를 이용해 pod를 추가 요구하는 pod 수 보다 많으면 최근에 생성된 pod를 삭제 기본구성 selector replicas template 반드시 selector의 key, value 값을 labels로 가지고 있어야 함 definition apiVersion: v1 kind: ReplicationController metadata: name: rc-nginx spec: replicas: 3 selector: app: web template: metadata: name: nginx-pod labels: app: web s.. 2022. 9. 26.