분류 전체보기 768

EKS access entry로 EKS 권한 분리

사전지식EKS access entry 지식이 필요합니다. 이 글에서 다루는 내용EKS access entry을 사용하여, IAM role에 "project-a"이름을 갖는 EKS namespace 리소스 조회만 가능하도록 권한을 설정합니다. IAM role은 개발자가 사용한다고 가정합니다.https://youtube.com/shorts/iuNPq2HBHBQ  실습1. 개발자에게 줄  IAM role을 생성합니다. IAM policy는 EKS list, describe를 설정했습니다. 저는 아래 테라폼 코드로 IAM role을 생성했습니다. resource "aws_iam_role" "access_entry_test_role" { name = "access_entry_test..

카테고리 없음 2024.05.19

EKS 클러스터 생성 시 부여되는 관리자 권한의 변화와 관리 방법

사전지식EKS 관리자 권한은 EKS를 생성할 때 사용한 IAM Role 또는 IAM user가 가지게 됩니다. 만약 IAM User 또는 Role이 삭제되면 EKS를 관리하기 매우 어렵습니다.  자동 관리자 권한 비활성화23년 11월 쯤에 EKS 관리자 권한을 다른 주체에게 부여할 수 있는 기능이 생겼습니다. 이 기능을 사용하려면 2가지 설정이 필요합니다.EKS 클러스터 생성 시 bootstrapClusterCreatorAdminPermissions를 false로 설정EKS Access entry사용하여 EKS관리자 권한을 누구에게 부여할지 설정 테라폼 코드 예제테라폼에서는 위 두가지 설정을 access_config필드로 설정합니다.resource "aws_eks_cluster" "main" { na..

istio circuit break

1. circuit break란?circuit break에 대해 다양한 관점이 있습니다. 이 글에서 말하는 circuit break는 쿠버네티스 pod 안정성 관점에서 circuit break입니다. pod 안전성 관점에서 circuit break는 pod가 죽지 않도록, 강제로 pod에 들어오는 요청을 거절합니다. 2. 왜 pod에 들어오는 요청을 거절할까요?요청을 거절하는 이유는 쿠버네티스 관점에서 pod가 죽지 않게 보호하기 위해서입니다.  pod가 처리할 수 있는 요청수보다 많은 요청을 받으면, pod는 재실행 될 수 있습니다. pod의 cpu, memory가 100%를 넘게 사용하는 상황이 발생하고 OOM 또는 probe검사 실패로 pod가 재실행됩니다. 만약 모든 pod가 재실행되는 경우 서비..

github action을 로컬에서 실행해보자

https://youtu.be/qQdUFjayxYA1. 로컬실행이란?github action 로컬실행은 git push를 하지 않고 workflow를 로컬에서 실행하는 방법입니다.  2. 로컬실행의 장점이전에 workflow 변동사항을 확인하기 위해 시간이 매우 많이 걸렸습니다. git push를 하고 workflow가 실행될 때까지 기다려야 했습니다. 로컬 실행은 이 과정을 모두 생략하고 로컬에서 worfklow를 바로 실행하여 시간을 절약합니다. 3. 제약사항github action이 주입하는 설정이 일부 없습니다. 예로 github.event객체의 일부 이벤트필드가 없습니다. 그리고 github 관리자페이지에서 설정한 github action environment, secrets을 가져올 수 없어 ..

github action workflow로 cron을 실행할 때 주의사항

https://youtu.be/zZ62M-qcX_8cron 사용방법github action worklfow는 cron을 지원합니다. 내가 정한 시간에 workflow를 실행할 수 있습니다. 사용방법은 트리거 조건인 on에 schedule필드를 설정하면 됩니다.on: schedule: - cron: "15 4,5 * * *" cron 주의사항cron을 운영환경에 사용할 때 3가지 주의사항이 있습니다. 치명적인거는 cron이 실행이 지연되거나 안될 수 있습니다.cron에 설정한 시간에 workflow가 실행이 안되고 지연될 수 있다.때때로 실행이 안될 수 있다.디폴트 브랜치(main)에 있는 workflow만 cron을 사용할 수 있다.

EKS IRSA 동작원리 톺아보기

1. IRSA란? IRSA(IAM Roles for Service Accounts)는 쿠버네티스 service account에 IAM role을 설정하는 기능입니다. pod는 service account에 설정된 IAM role을 사용하여 AWS리소스 작업을 합니다. pod가 IAM role을 사용할 때, AssumeRoleWithWebIdentity API가 호출되어 assume role이 수행됩니다. 2. 사용방법 사용방법은 매우 간단합니다. service account annotation에 IAM role arn을 설정하면 됩니다. 그리고 2가지 설정이 필요한데 다음 챕터인 [IRSA를 사용하기 위한 설정]에서 설명합니다. 예제코드: https://github.com/choisungwook/eks-..