k8s(istio egress gateway) → k8s(istio ingress gateway) grpc 통신시

라는 오류가 client server에서 발생

받는 server까지는 트래픽은 도착하였으나 계속해서 오류가 발생

client server에 sidecar를 해제하고 호출하니 정상 호출

egress문제일거라 예측하여 아래에 코드를 넣어주니 성공

client-> grpc(istio ingressgateway) 호출시 503이 뜰때는 해당 svc에 port name 명시를 확인

많은 프로젝트들이 현재 각 빌드마다 외부 소스에 점점 더 많은 패키지들이 의존합니다. 이로 인해 빌드 시간이 느려지고 외부 hub에 가용성 문제가 발생합니다. 최근에는 docker hub(public container registry)에서 20202년 11월 부터는 docker hub rate limit(6 시 …

Overview

Flux는 Kubernetes 클러스터를 Git 저장소와 동기화 상태로 유지하고 배포했을때 새로운 코드가 있을때 구성 업데이트를 하는 자동화 도구 입니다.(Gitops)

Declarative

  • 선언형

Automated

  • yaml을 사용해서 자동화 kubectl 이 필요없음

Auditable

  • only git pull requeset
  • transaction
  • recovery

Designed for Kubernetes

  • object statusand via Kubernetes Events, and integrations

Out-of-the-box integrations

  • kustomize, helm intergration

Extensible

  • gitops toolkit

redis master slave cluster 구조로 master 는 rw, slave 는 ro로 구성되어 있습니다. 이에 master가 down 될시 sentinel에 의해 slave중 하나가 master로 선출되며 down 되어있던 master가 되살아나면 slave 역활을 하게 됩니다. 이에 fail-over 처리는 되게 되지만 master->slave , slave중 하나가 → master 로 엔드포인트가 바뀌게 되어 client쪽에서 변경이 필요합니다. 이에 ha-proxy가 tcp-check를 통해 master, slave를 구분하게되어 client는 ha-proxy가 제공하는 end-point를 통해 일관적인 end-point를 제공하게 됩니다.

Purpose

eks aws-auth를 user별 등록 대신 role-mapping으로 auth 하려함

AWS

Create role

  1. iam->role->create role->EKS->AmazonEKSServiceRolePolicy->create

2. edit permission

Create Policy

iam group 에 생성한 policy 연결

eks auth-map

Test

Reference

https://stackoverflow.com/questions/34922920/how-can-i-allow-a-group-to-assume-a-role

External DNS란?

Kubernetes Services and Ingresses 프로젝트중 하나로 각종 cloud에 k8s resource와 dns를 통합하게 해주는 패키지

eks에서 활용용도는 service annotation을 통해 route53에 도메인을 자동 할당해주는 서비스를 요청

Setting up ExternalDNS for Services on AWS

iam policy

Helm Chart

Test Nginx-Service

rds에 트래픽이 몰려 read replica 에 cpu 사용율이 100%에 도달하게 되면 rds read replica가 응답하지 않을수 있습니다. 이 부분을 해결하기위해 다수의 replica를 두고 load balncing으로 read traffic을 분산하고자 합니다.

(aurora는 자동 확장 및 클러스터 엔드 포인트로 해결가능)

Route53 Weighted Routing 으로 read replica를 n개르 늘려 weight값으로 라우팅하는 구조입니다.

k8s(istio egress gateway) → k8s(istio ingress gateway) grpc 통신시

라는 오류가 client server에서 발생

받는 server까지는 트래픽은 도착하였으나 계속해서 오류가 발생

client server에 sidecar를 해제하고 호출하니 정상 호출

egress문제일거라 예측하여 아래에 코드를 넣어주니 성공

client-> grpc(istio ingressgateway) 호출시 503이 뜰때는 해당 svc에 port name 명시를 확인

app(istio) → mongodb(non istio) 연결시 mongodb protocol 접근시 envoy가 강제로 tls로 접근해서 오류발생

아래 dr룰을 줘서 tls 호출을 disabled 시키면 해결

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store