전체326 [EKS/Access Configuration] Managed Node Group > Karpenter Migration 시 aws-auth 문제 해결 # 이슈 발생 원래 Managed EC2 Node Group으로 EKS를 구성해 두었다가, Karpenter PoC를 마치고 모두 넘어가려고 준비중이었다. 따라서 Managed Node Group (이하 node group) & Karpenter가 모두 떠 있었고, node group은 노드를 0으로만 유지중이었다. 이제 모든 클러스터가 카펜터로 잘 동작중이기 때문에, node group은 이제 지워야지! 하고 dev 클러스터부터 전부 지움. 그러자 ... 갑자기 카펜터로 뜬 노드들이 전부 죽기 시작했다. # 뭔지 모르겠지만 일단 롤백 아무리 생각해도 node group이랑 카펜터에 연관 관계가 있을 것 같지 않았다. 근데 롤백하니까 (node group 살리니까) 카펜터 노드들도 다시 살아나기 시작했다.. 2024. 3. 28. [kubernetes/GUI] OpenLens 로 쉽게 port-forward 하기 먼저 OpenLens에 대해서는 아래 글에서 확인하자. https://honglab.tistory.com/279 [kubernetes/GUI] OpenLens 사용하기 (MAC) # 설치 (in MAC) brew install --cask openlens # 사용 # 쉘 접근 기능 extension 설치 @alebcay/openlens-node-pod-menu 입력 후 인스톨 끝 honglab.tistory.com 쿠버네티스에 떠있는 pod에 포트포워딩하는 (기본)방법은 아래 도큐를 확인하자 https://kubernetes.io/ko/docs/tasks/access-application-cluster/port-forward-access-application-cluster/ 포트 포워딩을 사용해서 클러스.. 2024. 3. 28. [AD/AWS Directory Service/Terraform] Admin User 비밀번호 만료 우선 내 환경은 AWS Directory Service - Microsoft AD 를 사용해 AD를 구축해둔 상태이다. 해당 AD를 컨트롤하기 위해 Controller 서버도 띄워두었고, User를 쉽게 만들기 위해 Terraform 에서 ldap Provider를 사용해 붙고 있었다. 그런데 어느 날, Error: error binding: LDAP Result Code 49 "Invalid Credentials": 80090308: LdapErr: DSID-0C090569, comment: AcceptSecurityContext error, data 532, v4563 라는 에러가 뜨면서 plan이 실패했다. Controller 서버에 RDP 접속도 안되었다. 근데 이 때 나온 에러는 비밀번호가 만료.. 2024. 3. 21. [Karpenter] Disruption budget (중단 제어) 사용하기 (v0.34.0~) (feat. karpenter upgrade) https://aws.amazon.com/ko/about-aws/whats-new/2024/02/disruption-controls-karpenter/ Karpenter에 대한 중단 제어 기능 발표 오늘 v0.34.0 릴리스부터 오픈 소스 Karpenter 프로젝트를 사용하는 Amazon Elastic Kubernetes Service(EKS) 고객에게 Kubernetes 클러스터의 Amazon EC2 인스턴스에 획기적인 변경이 적용되는 방법과 시기를 제어할 aws.amazon.com https://karpenter.sh/v0.34/concepts/disruption/ Disruption Understand different ways Karpenter disrupts nodes karpenter.sh k.. 2024. 3. 9. [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. 갑상선암 입원일지 (아주대병원) # 상태증상은 없지만 건강검진하다가 갑상선암의 존재를 알게 됨. 추가 검사 결과, 갑상선은 전절제(전체), 임파선 왼쪽 전이 있어서 들어내야 함. -> 로봇수술 (겨드랑이 째는거) 대신 목 직접 째는걸 권유받고, 그렇게 하기로 함. 갑상선암을 진단해준 병원에서 아주대병원에 직접 연결시켜 주셔서 나름(?) 빠르게 진행됨... # 입원 1일차아프지도 않았고, 병원 입원해본적도 없어서 오히려 약간 설레는(?) 상태였음. ㅋㅋ 새로운 경험이다! 5일이나 입원해야 되면 심심하겠지? 진짜 이런 마인드로 온갖 전자기기들을 챙기고, 너무 당연히 매일매일 씻는다는 생각으로 수건과 세면도구들을 바리바리 챙김. 입원서류들을 작성하고, 병실을 안내받음. (참고로 간호병동을 선택해서, 엄마도 병문안 못온다.) 할 일이 없어서 .. 2023. 12. 17. [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. 이전 1 2 3 4 5 6 7 ··· 22 다음