본문 바로가기

공부285

[Terraform Associate (003)] 2024-02-17 합격 후기 https://www.credly.com/badges/797fde64-28d6-4dd8-b59d-2ff7a1ab2309/public_url HashiCorp Certified: Terraform Associate (003) was issued by HashiCorp to Sumin Hong.Earners of the HashiCorp Certified: Terraform Associate certification know the basic concepts, skills, and use cases associated with open source HashiCorp Terraform. They understand and can utilize Terraform according to the certificat.. 2024. 2. 18.
[CKAD] 2024-02-12 합격 후기 2월 12일에 CKAD를 땄다. 사실 시험을 산 건 작년 5월인데, 그냥 쭉 미루다가 ... (ㅋㅋ) 4월부터 자격증 만료기간이 2년으로 줄어든다는 소식을 듣고 호다닥 땄다 작년에 CKA를 땄던 기억도 남아있고, 업무상으로도 쿠버네티스를 계속 다뤄왔기에 큰 공부 없이 금방 땄다. 뭄샤드 CKAD 강의도 작년에 사뒀었는데, 강의는 하나도 안듣고 kodekloud 실습만 쭉 풀고 갔다 ㅋㅋ kodekloud mock exam이 진짜 짱인 것 같다. killer는 환경 익숙해지려고 조금만 풀어봤다. 너무 어려워서 거기에 스트레스를 많이 받진 않았다. 좀 짜증났던건, psi browser의 키보드 세션? 이 심하게 끊겼다. nginx 이 단어 하나 치는데도 몇 번이나 세션이 끊겨서 직접 마우스로 화면을 클릭해줘.. 2024. 2. 13.
[k8s/EKS] Fargate와 Daemonset # Fargate를 쓰는 이유 karpenter pod를 띄우기 위해서. (karpenter pod는 karpenter가 띄운 노드에 뜰 수 없다.) 별도 ec2 node group을 만들수도 있지만, 우리의 궁국적인 목적은 ec2 node group을 없애고 스팟으로만 운영하는 것이기 때문에 karpenter용 fargate를 띄움 참고로 pod 하나당 fargate 하나가 뜸 # Daemonset 노드의 백그라운드에서 항상 실행되며 여러 작업을 수행 → 노드별로 파드가 하나씩 떠야 함. 이 때, fargate도 결국 노드의 한 종류인데 fargate에도 떠야하느냐? → 아니다. fargate는 hsot가 없기 때문에 데몬셋이 지원되지 않는다. 따라서 데몬셋들은 fargate가 아닌, ec2 노드들에만.. 2024. 2. 9.
[EKS/Terraform] Secondary IP 줄이기 with Terraform # 현상 18개 파드가 존재하는 10.10.0.218 노드가 있다. 그러나 해당 노드엔 2개 eni / eni포함 총 60개의 ip가 붙어있다.... 다른 노드들도 사용하는 파드들에 비해 상당히 많은 ip들을 갖고 있었고, 이로 인해 서브넷에 가용 ip가 부족해졌다. # 분석 https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#AvailableIpPerENI Elastic network interfaces - Amazon Elastic Compute Cloud For EC2 instances in an IPv6-only subnet, if you attach a secondary network interface to the instanc.. 2024. 2. 6.
[Active Directory] AD Controller 서버 설정하기 # AD Controller 서버? 사실 공식적인 이름인지 아닌지는 모르겠다. 어디선가에선 manage 서버라고 부를 것 같다. 요지는, Managed AD를 사용하는 경우 (ex, AWS Directory Service - Microsoft AD) 해당 AD 서버에 직접 접근이 불가하다. 이 때 AD를 컨트롤하기 위한 목적 (user, computer, gpo관리 등) 으로 별도 윈도우 서버를 띄우게 된다 This PC 우클릭 > Properties Change settings 클릭 Change > Computer Name 변경 후 OK (꼭 CONTROLLER가 아니어도 상관 없다.) 도메인 관리자 자격으로 Change를 해줘야 한다. ID : Admin@{domain} PW : directory 생.. 2024. 2. 1.
[Active Directory] LDAP userAccountControl 속성값 https://learn.microsoft.com/ko-kr/troubleshoot/windows-server/identity/useraccountcontrol-manipulate-account-properties UserAccountControl 속성 플래그 - Windows Server UserAccountControl 특성을 사용하여 사용자 계정 속성을 조작하는 방법에 대한 정보를 설명합니다. learn.microsoft.com 속성 플래그 10진수 값 SCRIPT 1 ACCOUNTDISABLE 2 HOMEDIR_REQUIRED 8 LOCKOUT 16 PASSWD_NOTREQD 32 PASSWD_CANT_CHANGE 64 ENCRYPTED_TEXT_PWD_ALLOWED 128 TEMP_DUPLICA.. 2024. 2. 1.
[Terraform] AD User 만들기 # 사용한 프로바이더 https://registry.terraform.io/providers/l-with/ldap/latest/docs Terraform Registry registry.terraform.io terraform { required_providers { ldap = { source = "l-with/ldap" version = ">= 0.4" } } } locals { ad_server_ip = "1.1.1.1" ad_domain = "honglab.com" ad_admin_pw = "" } provider "ldap" { host = local.ad_server_ip port = 389 tls = false bind_user = "Admin@${local.ds_domain}" bind_p.. 2024. 1. 31.
[개인 terminal 세팅] alias 정리 vi ~/.zshrc # python alias py=python3 # docker, k8s alias dbt='docker build -t' alias k=kubectl alias kd='k describe' export do='--dry-run=client -o yaml' export FORCE='--force --grace-period 0' # terraform alias tfmt='terraform fmt -recursive' # aws alias ecr-login='aws ecr get-login-password --region ap-northeast-2 --profile {PROFILE} | docker login --username AWS --password-stdin {ACCOUNT}.dk.. 2024. 1. 28.
[JIRA] Epic -> Parent 변경 사항 (Template URL, JQL) # HTML Link 기존 Ticket 생성 link https://{atlassian domain}/secure/CreateIssueDetails!init.jspa?pid={project id}&issuetype={issue type id}&parent={epic issue id} → parnet 라는 인자값을 통해 Epic 이 지정되고 있었음 그러나 이제 Epic 지정이 불가능하고, Parent 필드? 로 구성해야 함. 변경 : subTaskIssue 템플릿 사용해야 함 https://{atlassian domain}/secure/CreateSubTaskIssue.jspa?pid={project id}&issuetype={issue type id}&parentIssueId={parent issue i.. 2023. 12. 1.
[ingress-nginx] restart 시 downtime 해결 - minReadySeconds # 요약 NLB 에서 IP Type의 Target이 정상적으로 Register되는데 3분 이상이 걸리는 이슈가 있다. -> deployment restart로 신규 파드가 정상적으로 뜨더라도, NLB에서 3분동안은 바라볼 수 없음 -> 그 사이에 기존 파드들이 죽기 시작하면 순단이 생김 -> minReadySeconds를 적절한 시간으로 조정하여 해결 # 현재 구조 EKS Cluster 안에서 ingress-nginx 를 사용중이며, Service Annotation을 통해 (정확히는 aws-loadbalancer-controller를 통해) AWS NLB가 생성되어 매핑되어 있다. 이 때, NLB 의 Target으로 ingress-nginx controller pod들의 ip가 등록되어 있음 # res.. 2023. 11. 29.
[Cluster-Autoscaler] Over Provisioning with Terraform # 현상 node의 cpu / memory가 거의 대부분 점유되고 있는 상황에서도 node가 늘어나지 않고 있다. 내가 생각했을 때 CA를 사용하면 노드 리소스가 80% 이상 사용 중일 때 새로 노드 추가 ~ 뭐 이런식으로 진행될 줄 알았는데, 그게 아니었다. 노드가 새로 추가되는건 노드에 자리가 없어서 배치되지 못하는 pod가 존재할 때 … 이다. 사실 쿠버네티스 사용 목적 등을 생각하면 그게 맞다. 하지만 파드가 하나 새로 떠야되는데 그 때서야 노드 프로비저닝을 시작한다? → 느리다. → 어느정도의 over provisioning이 필요하다. # Over Provisioning https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscal.. 2023. 11. 26.
[AWS SNS/꼼수] Confirm되지 않은 Email Subscription 의 ARN 알아내기 # 상황 SNS Topic과 Email 구독 등을 만들어보고, 테라포밍을 진행하려고 한다. 이 때 이미 만들어진 리소스들은 import를 해야하고, SNS Subscription 의 import를 위해서는 ARN을 알아야 한다. 그러나 안타깝게도 아직 confirm되지 않은 구독은 ARN을 확인할 수 없다. 그러나 그냥 Request confirmation (컨펌 해달라고 메일 또 보내는건듯) 을 눌러보면... 위에 ARN이 뜬다.. 별거 아니지만 나름 꿀팁(?) 이라 정리.... 끝 2023. 11. 20.
HashiConf 2023 Recap - Terraform 부분 정리 # HashiConf 2023 Recap (23.11.15) 중 Terraform 부분에 대해서만 정리함 terraform test 라는 명령이 생겼다고 한다. Preview 기능들 사용자 정의 함수?! 이건 진짜 너무너무 유용할 것 같다. 그리고 stage에 대한 관리를 지금까지 configuration code 기반이 아닌 cli 명령 기반으로 진행하고 있었는데, import, mv 블럭이 나온 것처럼 rm 블럭도 나와서 state 관리를 코드 기반으로 할 수 있게 된 것 같다. 의존성 관리가 되는 인프라 집합인 stack이란 개념도 나왔다고 한다. cloudformation이 생각난다... Stacks 지금까지 terraform plan/apply 시 될때도 있고 안될때도 있는데 (??) 그것때문에.. 2023. 11. 15.
[keycloak/saml2aws] keycloak google user로 aws cli 사용하기 # 상황 google idp를 통해 만들어진 keycloak user들이 aws cli를 사용하고 싶음 google idp 및 aws client 설정, aws iam role 연동은 끝난 상태 # saml2aws 란? saml 자격증명을 통해 aws 임시 자격 증명을 가져올 수 있는 도구 https://github.com/Versent/saml2aws GitHub - Versent/saml2aws: CLI tool which enables you to login and retrieve AWS temporary credentials using a SAML IDP CLI tool which enables you to login and retrieve AWS temporary credentials using.. 2023. 11. 5.
[ArgoCD/helm] Github OAuth 붙이기 https://artifacthub.io/packages/helm/argo/argo-cd argo-cd 5.50.1 · argoproj/argo A Helm chart for Argo CD, a declarative, GitOps continuous delivery tool for Kubernetes. artifacthub.io # 1. Github OAuth Client 만들기 homepage URL : Airflow 도메인 Authotization callback URL : Airflow 도메인 + /api/dex/callback # 2. argocd helm value 추가 configs: cm: url: https://${argocd 도메인} dex.config: | connectors: # Gi.. 2023. 11. 5.