본문 바로가기

전체 글714

[k8s] Image Pull 실행 시 ECR 로그인 적용하기 여러 팀과 함께 서비스를 운영하다보면 현재 사용 중인 서버가 속한 AWS Account 외에 다른 Account의 ECR에 존재하는 컨테이너 이미지를 Pull 받아야하는 경우가 있다. 이 때 해당 Account에서 ECR의 read only 권한을 가진 IAM User의 Access Key를 사용하여 로그인을 수행한 후 컨테이너 이미지를 Pull 받을 수 있다. 먼저 ~/.aws/credentials 파일에 default 또는 별도 profile을 지정하여 Access Key를 등록한다. [ecr-readonly] aws_access_key_id = aws_secret_access_key = 다음 명령으로 ECR에 로그인 한다. aws ecr get-login-password --region ap-nor.. 2020. 9. 26.
[Go언어] embedded struct bson marshaling 시 struct 이름으로 키가 생성되는 문제 아래와 같이 Sample struct에서는 Inner struct를 embedded 하고 있다. type Inner struct { ID string `json:"id,omitempty" bson:"_id,omitempty" Name string `json:"name" bson:"name"` CreatedAt int64 `json:"created_at,omitempty" bson:"created_at,omitempty"` ModifiedAt int64 `json:"modified_at,omitempty" bson:"modified_at,omitempty"` } type Sample struct { Inner } 이 때 marshaling을 수행하면 json의 경우에는 아래와 같이 원하는 대로 변환 된다... 2020. 9. 18.
[Go언어] tcp로 웹 서버 구동시 tcp6로 Listen Golang echo framework로 웹 서버 실행 시 tcp를 지정하여 IPv4를 사용하도록 설정을 했는데도 서버가 실행된 후 LISTEN 상태를 보면 아래와 같이 tcp6만 실행되어있다. netstat -anp | grep 8080 (Not all processes could be identified, non-owned process info will not be shown, you would have to be root to see it all.) tcp6 0 0 :::8080 :::* LISTEN - 그럼에도 ACL이 허용된 다른 서버에서 telnet으로 접근을 시도하면 정상적으로 접근이 된다. telnet 10.0.13.35 8080 Trying 10.0.13.35... Connected t.. 2020. 9. 14.
[쿠버네티스패턴] 2장 예측 범위 내의 요구사항 공유 클라우드 환경에서 애플리케이션 배포, 관리 및 공용(Coexistence)을 성공적으로 수행하려면 애플리케이션 자원 요구사항과 런타임 의존성을 명확히 식별하고 정의해야 한다. 여기서 공용(Coexistence)이란? Coexistence를 찾아보면 쿠버네티스 보다는 주파수, 블루투스와 같은 신호나 기기 간의 충돌 현상을 이야기하는 글들이 많다. 위 의미와 빗대어 쿠버네티스에서의 Coexistence를 생각해보면 다양한 어플리케이션이 Pod의 형태로 같은 노드에 배치되는 것이라 볼 수 있다. 자원 요구사항은 쿠버네티스 위에서 동작하는 어플리케이션들의 CPU와 메모리 사용량을 의미하고, 런타임 의존성은 Pod 실행 시점에 결정되는 볼륨이나 ConfigMap 과 같은 의존성을 의미한다. 이 의존성에 따라.. 2020. 9. 12.