[Kuberntes] Annotation(어노테이션) 이란?
·
DevOps/Kubernetes
Annotation (어노테이션) label과 흡사한 비식별 메타데이터다. 식별하는 용도로 사용하는 것이 아니기 때문에 레이블 셀렉터의 기능을 가지지 않고 단순히 정보를 설정한다. Kubernetes 에게 특정 정보 전달할 용도로 사용한다. 관리를 위해 필요한 정보를 기록할 용도로 사용(릴리즈,로깅,모니터링에 필요한 정보들을 기록) "metadata": { "annotations": { "key1" : "value1", "key2" : "value2" } } 명령형 커맨드 -생성 및 변경(기존에 있으면 overwrite함) kubectl annotate pods tomcat service.beta.kubernetes.io/openstack-internal-load-balancer="true" apiVer..
HashiCorp Certified: Terraform Associate (002)자격증 시험 후기
·
DevOps/Terraform
시험 내용 및 정보 - 객관식,주관식, True/False 문제로 출제되고, 문항수는 59문제가 나왔습니다. udemy에서 제공하는 문제도 있었지만 처음보는 문제가 많았습니다. 시험시간은 1시간이고 합격 커트라인은 70%이상이여야 합니다. 언어는 영어만 제공하며 시험은 온라인으로만 제공합니다.(2022년 11월 기준!) 응시료 응시료는 $70.50USD 입니다.(수수료불포함) 저는 십만원 조금 넘는 가격으로 응시했습니다. 준비 과정 terraform 공식사이트: https://developer.hashicorp.com/terraform/cli udemy 강의 : https://www.udemy.com/course/terraform-associate-practice-exam/ 이 두개를 참고해서 하였습니다..
[Terraform] 디버깅 모드 활성화(TF_LOG)
·
DevOps/Terraform
Terraform에는 TF_LOG환경 변수를 임의의 값으로 설정하여 활성화할 수 있는 자세한 로그가 있다. 워크플로우 내에 버그나 잘못된 입력으로 인해 리소스가 의도한 대로 프로비저닝 되지 않을 때, 이 로깅활성화가 도움이 된다. 오류의 원인을 찾아내는 데 도움이 되며, 사용자로 인한 것인지 알려주거나 내부 버그인 경우 Terraform 개발자에게 문제를 보고하라는 메세지를 표시할 수 있다. Terraform은 자세한 로깅 수준을 설정하기 위한 환경 변수를 노출하며 5가지 레벨이 있다. TF_LOG 1) TRACE Terraform이 취한 모든 단계를 보여주고 내부 로그와 함께 엄청난 출력을 생성하므로 가장 정교하고 장황함. 2) DEBUG TRACE 에 비해 내부적으로 발생하는 일을 보다 간결하게 설명..
[NCP] Terraform - 특정 리소스 삭제 (terraform state rm)
·
DevOps/Terraform
terraform apply를 통해 인프라를 생성 했으나, 하나 또는 몇개의 서버를 삭제하고 싶을 때는 terraform destory를 사용하지 않고 terraform state rm 을 통해 특정한 리소스를 수동삭제할 수 있다. 리소스명을 통해 해당 인스턴스 모두 제거 리소스명이 "worker" 라는 리소스의 모든 인스턴스를 제거 $ terraform state rm 'ncloud_server.worker'​ count 사용하여 리소스의 특정 인스턴스를 제거 메타인수로 정의된 리소스인 count를 사용하여 명시적 인덱스를 통해 특정인스턴스를 선택 $ terraform state rm 'ncloud_server.worker[0]'​ for_each 사용하여 리소스의 특정 인스턴스를 제거 메타인수로 정의..
[NCP] Terraform - 여러 유사한 개체 생성할 때 인수(count, for_each 인수)
·
DevOps/Terraform
test-001 , test-002 , test-003 이라는 이름의 서버를 생성하고 싶다. 이럴때 방법은 두가지가 있다. count 인수 또는 for_each 인수를 사용하는 것이다. count 인수 사용 resource "ncloud_server" "server" { count = "3" name = "test-00${count.index+1}" member_server_image_no = var.server_image_product_code server_product_code = var.server_product_code access_control_group_configuration_no_list = ["5513","10985"] zone = var.zones } for_each 인수 사용 reso..
[NCP] Terraform - time_sleep(sleep걸기) 사용
·
DevOps/Terraform
resource : time_sleep 일반적으로 추가 리소스에 대해 생성 및/또는 소멸을 지연시키는 리소스를 관리합니다. 이렇게 하면 local-exec프로비저닝 도구 사용 시 플랫폼 간 호환성 및 소멸 시간 문제가 방지 됩니다. https://registry.terraform.io/providers/hashicorp/time/latest/docs/resources/sleep Terraform Registry registry.terraform.io provider "ncloud" { access_key = var.access_key secret_key = var.secret_key region = var.region site = var.site } resource "ncloud_server" "serv..
[Ansible] 파일 업로드 Ad-hoc 및 Playbook
·
DevOps/Ansible
1) Ad-hoc Ansible 서버에서 Remote 서버로 파일 전송 - Ansible 서버의 example.txt 파일을 모든 webserver에 test.txt 파일명으로 업로드 ansible webserver -m copy -a "src=~/example.txt dest=~/test.txt" Remote 서버에서 Ansible 서버로 파일 전송 - 모든 webserver의 test.txt 파일을 Ansible 서버의 example 디렉토리 하위에 다운로드 ansible webserver -m fetch -a "src=~/test.txt dest=~/example" 2) Playbook vi main.yml --- - hosts: all vars: file_src: input file_dest: /..
[Ansible] Ansible 설치 및 구성 파일 경로
·
DevOps/Ansible
Ansible 설치 yum install -y epel-release yum install -y ansible Ansible host 경로 vi /etc/ansible/hosts vi /etc/hosts --> /etc/ansible/hosts 파일에 Client host ip를 등록해야한다. (Inventory) Ansible 통신 확인 ansible all -m ping Ansible key 교환 1. master 서버(ansible 설치된 제어서버)에 key생성 ssh-keygen​ 2. 공개 key 클라이언트서버에 복사 ssh-copy-id root@​
[NCP] Terraform을 활용한 NCP(VPC) - Server(2), LB(1), Auto scaling Group(1), NAS(1) 구성
·
DevOps/Terraform
개요 Terraform을 활용에 VPC버전에서 NCP의 Server, LB , NAS 생성과 Server에는 Apache를 설치하는 코드입니다. NAS는 생성과 동시에 mount를 하여 서버접속시 바로 이용할 수 있을 수 있습니다. 아키텍처는 다음과 같습니다. [main.tf] provider "ncloud" { support_vpc = true access_key = var.access_key secret_key = var.secret_key region = var.region } resource "ncloud_login_key" "key" { key_name = var.login_key_name } data "ncloud_root_password" "rootpwd" { count = "2" serve..
[NCP] Terraform을 활용한 NCP (Classic) - Server (2), LB(1) 구성
·
DevOps/Terraform
개요 Terraform을 활용해 NCP의 Server, LB를 생성하고 Server에는 Apache를 설치하는 코드입니다. 아키텍처는 다음과 같습니다. [main.tf] provider "ncloud" { access_key = var.access_key secret_key = var.secret_key region = var.region } resource "random_id" "id" { byte_length = 4 } resource "ncloud_login_key" "key" { key_name = var.login_key_name } data "ncloud_root_password" "rootpwd" { count = "2" server_instance_no = ncloud_server.serv..