본문 바로가기

ABTCEFG38

terraform 여러 버전 사용하기(2) 리눅스 ABTCEFG♪ 안녕하세요, 여러분! BTC_김쿼카입니다. 저번 시간에 이어 리눅스에서 terraform을 버전별로 사용하는 방법을 알려드리도록 할게요! 먼저 테스트에 사용할 ec2를 하나 생성해주세요. 인스턴스 접속까지 다 해주셨다면 다음으로 진행하도록 할게요. 테라폼을 설치해야하는데 이때 설치할 경로는 /usr/local/bin 입니다! 설치할 테라폼 버전은 아래 홈페이지에서 확인할 수 있으니 참고해주세요. https://releases.hashicorp.com/terraform/ Terraform Versions | HashiCorp Releases releases.hashicorp.com Terraform의 많은 버전 중에서 저희가 가장 자주 쓰고 있는 0.13.1 과 비교를 위한 1.2.7 이 .. 2022. 10. 28.
[Terraform]terraform 여러 버전 사용하는 방법 알아보기 1. 윈도우 저희가 속해있는 프로젝트 팀에서는 각 환경 별로 terraform 버전을 다르게 사용하는데요. 로컬환경인 윈도우에서 테스트할 때 쓸 수 있는 방법을 알려드리도록 하겠습니다. 1. 테라폼 윈도우 버전 파일 설치 -> terraforn.exe 아래 링크에서 파일 다운 https://www.terraform.io/downloads Downloads | Terraform by HashiCorp Terraform is an open-source infrastructure as code software tool that enables you to safely and predictably create, change, and improve infrastructure. www.terraform.io 아래 링크에선 가장 .. 2022. 10. 28.
쿠버네티스 이론 STEP14 Resource Management ABTCEFG♪ 안녕하세요, 여러분! BTC_김쿼카입니다. 이번 시간에는 쿠버네티스의 리소스 관리에 대해 알아보는 시간을 가질게요. 쿠버네티스에서는 pod를 실행하기 위해 node의 리소스를 사용합니다. 스케줄러는 pod를 자원의 여유가 있는 node에 배포하게 되는데 이때 사용되는 기준은 각 node의 cpu, memory의 사용량 등이 대표적입니다. 리소스 단위 cpu : 1000m(밀리 코어) == cpu : 1 Core memory : 256Mi == memory : 256Mb apiVersion: v1 kind: Pod metadata: name: resource-limit-pod labels: name: resource-limit-pod spec: containers: - name: nginx.. 2022. 10. 12.
쿠버네티스 이론 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.
쿠버네티스 이론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.
쿠버네티스 이론 STEP10 Cluster Upgrade i kubernetes는 각 컴포넌트마다 서로 다른 버전을 가지고 있을 수 있습니다. 이로 인해 각 컴포넌트마다 업데이트가 가능한데 Kubernetes 서포트는 최신 3개의 버전에만 가능하기 때문에 버전을 빠르게 업그레이드 하는 것이 필요합니다. 또한 v1.10 > v1.11 > v1.12 로 차례로 올리는 것이 좋은 방법입니다. Cluster Upgrade 순서 1. 기본 컨트롤 플레인 노드 업그레이드 2. 추가 컨트롤 플레인 노드 업그레이드 3. 워커 노드 업그레이드 필수 조건 1. 모든 노드가 Ready 상태여야 함 2. swap 비활성화 3. (필요 시) 클러스터 백업 - kubeadm upgrade 4. Node draining 필요 1. ControlPlane Upgrade 업그레이드 순서 :.. 2022. 9. 16.
쿠버네티스 이론 STEP9 Controller&Rolling Update ABTCEFG♪ 안녕하세요, 여러분! BTC_뚜벅이입니다. 지난 주 RBAC에 이어 이번 주는 Controller와 Rolling update에 대해 간략하게 알아보고 Rolling Update와 RollBack에 대해 간단한 실습도 해볼게요. 1. Controller 집에 냉장고를 생각해볼까요? 현재 냉장온도는 3도, 우리는 이 온도를 4도로 올리고 싶어서 냉장고 온도를 1도 높였습니다. 여기서 현재 상태는 3도, 바라는 상태는 4도라고 할 수 있습니다. 이에 따라 현재 상태와 바라는 상태가 동일해지도록 냉장고는 작업을 수행합니다. 이 개념을 쿠버네티스에 적용한 개념이 컨트롤러입니다. 쿠버네티스의 컨트롤러의 동작 원리는 컨트롤 루프를 지속적으로 돌면서 특정 리소스를 관찰합니다. 특정 리소스를 계속적으로.. 2022. 9. 14.