본문 바로가기

INFRA245

[k8s] Pod Scheduling Node selector란? Worker node에 할당된 label을 이용해 node를 선택 node label 설정 kubectl label nodes = kubectl label node1.example.com gpu=true kubectl get nodes -L definition apiVersion: v1 kind: Pod metadata: name: tensorflow-gpu spec: containers: - name: tensorflow image: tensorflow/tensorflow:nightly-jupyter ports: - containerPort: 8888 protocol: TCP nodeSelector: gpu: "true" [ Hands - on ] node2에 gpu=tru.. 2023. 2. 6.
[K8s] Multi-master - HA Kuberenetes cluster 운영 K8s cluster를 직접 구성하는 도구 kubeadm K8s에서 공식 제공하는 cluster 생성/관리 도구 kubespray K8s cluster를 배포하는 오픈 소스 프로젝트 다양한 형식으로 k8s cluster 구성 가능 On-premise에서 상용 서비스 cluster 운영 시 유용 K8s cluster 구성 Control plane(master node) worker node 들의 상태를 관리하고 제어 High Available(HA) cluster 운영 API는 loadbalancer를 통해 worker node에 노출 최소 3개의 중첩된 control plane을 구성(5,7개의 master nodes) Worker node container를 동작하며 실제 서비스를 제공 Highly A.. 2023. 1. 30.
Terragrunt 개념 및 사용법 - 2 안녕하세요! 하씨가문의 영광입니다. 오늘은 Terragrunt 개념 및 사용법에 대한 두번째 편입니다! 지금부터 알아볼까요?? Terragrunt 장점 먼저 Terragrunt가 나오게된 배경을 다시 한번더 리마인드를 해보도록 하겠습니다. Terraform으로 인프라를 관리하기 시작하면서, 하나의 통합된 프로젝트 구조로는 관리의 한계성을 느끼게 됩니다. 이러한 문제점을 개선하고자! Terragrunt를 도입하게 되었습니다. 이를 통해, 더욱 프로젝트를 보다 안전하고, 효율적으로 관리할 수 있도록 정리할 수 있었습니다. Terragrunt의 장점을 한번 살펴보도록 해보겠습니다. 1. 테라폼 코드를 한번만 정의하여, 환경변수를 관리할 수 있도록 만들어 줍니다. 2. 테라폼 Backend 파일을 한번만 선언하.. 2023. 1. 25.
[k8s] Secret Secret이란? Container가 사용하는 password, auth token, ssh key와 같은 중요한 정보를 저장 민감한 구성 정보를 base64로 인코딩해서 한 곳에 모아서 관리 Secret 데이터 전달 방법 Command-line Argument Environment Variable Volume Mount Available command에 따라 들어가는 옵션이 달라짐 docker-registry : create a secret for use with a Docker registry generic : create a secret from a local file, directory or literal value tls : create a TLS secret type Opaque : 임의의 사.. 2023. 1. 25.
Terragrunt 개념 및 사용법 - 1 안녕하세요! 하씨가문의 영광입니다! 오늘은 Terragrunt에 대해 알아보고자 개념에 대해서 설명드리겠습니다! 비가 내린 후 기온이 떨어졌는데 다들 감기 안걸리게 조심하세요:) Don't have a good day, Have a great day! ▶ 목차 Terragrunt 개념 Terragrunt 설치 Terragrunt 소개 공식 문서에 따르면, " Terragrunt is a thin wrapper that provides extra tools for keeping your configurations DRY, working with multiple Terraform modules, and managing remote state. " 해석을 하자면, 코드의 반복작업을 없애고 모듈작업을 통해 Te.. 2023. 1. 16.
[K8s] ConfigMap ConfigMap이란? 구성 설정이나 환경 설정 정보들을 한 곳에 모아서 관리해주는 API 단, value는 1MiB를 초과할 수 없음 ConfigMap 생성 Configmap 생성 kubectl create configmap ttabae-config --from-literal=INTERVAL=2 --from-literal=OPTION=BOY --from-file=config.dir/ Configmap 확인 kubectl get configmaps ttabae-config NAME DATA AGE ttabae-config 3 77s kubectl describe configmaps ttabae-config Name: ttabae-config Namespace: default Labels: Annotati.. 2023. 1. 16.
Aztfy 개념 및 사용법 - 2 안녕하세요! 하씨가문의 영광입니다! 다들 감기 안걸리게 조심하시길 바랍니다:) 오늘은 Aztfy 옵션 사용법 대해 알아보도록 하겠습니다. Don't have a good day, Have a great day! ▶ 목차 aztfy 개별 리소스 코드 추출 추출된 코드 기반 리소스 수정 1. aztfy 개별 리소스 코드 추출 리소스 코드 추출전 개인 Azure 포털에 리소스가 배포되어 있는 전제하에 다음 작업을 진행합니다! 저희는 포털에 리소스 그룹, 가상네트워크, 가상머신 이렇게 배포된 상황입니다. 개별 리소스 코드를 추출하기 위해 settings - properties - Resource ID를 복사합니다. Powershell에서 aztfy res 옵션을 사용하여 한 리소스에 대해서만 코드를 추출해보겠습.. 2023. 1. 9.
[k8s] Canary Deployment Pod를 배포(업데이트)하는 방법 Blue, Green update Canary update Rolling update Canary 배포란? 기존 버전을 유지한 채로 일부 버전만 신규 버전으로 올려서 신규 버전에 버그나 이상은 없는지 확인 definition apiVersion: apps/v1 kind: Deployment metadata: name: mainui-canary spec: replicas: 1 selector: matchLabels: app: mainui version: canary template: metadata: labels: app: mainui version: canary spec: containers: - name: mainui image: nginx:1.15 ports: - c.. 2023. 1. 9.