k8s
-
K8S에서 secret을 통해 AWS credential 사용시 invalid header errorTrouble Shooting 2022. 7. 23. 00:53
틀린 내용이 있을 수도 있습니다! 틀린 내용이 있다면 댓글로 달아주시면 감사하겠습니다! pod 내부에서 secret을 통해 aws credential을 사용해야 했는데, secret에 값이 뭔가 잘못 들어갔는지 다음과 같은 에러가 출력되었다. invalid header field value "AWS4-HMAC-SHA256 Credential=AWS-ACCESS-KEY-ID\n/20180808/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=74fe603e8f353df20d2d87fdd9761f~~~~" for key Authorization (정확한 에러는 기억이 나지 않아 비슷한 에러를 긁어 ..
-
K8S 설계 개념(Kubernetes Design Concept)K8S 2021. 9. 15. 14:43
틀린 내용이 있을 수도 있습니다! 틀린 내용이 있다면 댓글로 달아주시면 감사하겠습니다! 이번 포스팅은 K8S가 어떤 설계 개념을 토대로 디자인 되었는지 알아본다. Saad Ali라는 구글 개발자는 다음 규칙을 바탕으로 K8S를 설계했다. 1. Kubernetes APIs are declarative rather the imperative 2. No hidden internal APIs 3. Meet the user where they are: Remote storage 4. Workload portability 1. Kubernetes APIs are declarative rather the imperative 1) Imperative way 이전에는 시스템에 명령어를 직접 입력해서 시스템을 desire..
-
Vagrant를 이용한 Minikube 환경 구성Ansible 2021. 9. 4. 19:55
이번 포스팅은 vagrant를 이용해서 virtual box에 ubuntu:18.04 OS와 minikube를 설치합니다. 1. Vagrantfile 구성 GitHub - sjoh0704/My-Automation: Automation Practice Automation Practice. Contribute to sjoh0704/My-Automation development by creating an account on GitHub. github.com 2. bootsrap.sh 작성하기 GitHub - sjoh0704/My-Automation: Automation Practice Automation Practice. Contribute to sjoh0704/My-Automa..
-
Istio Circuit breaking 정리K8S 2021. 6. 25. 11:03
이번 포스팅은 이스티오의 circuit breaking에 대해 다룬다. 마이크로 서비스 아키텍처에서 가장 일반적인 문제는 cascading failure다. 어떤 이유로든 서비스가 응답하지 않는 경우, 서비스에 요청을 반복적으로 보내면 대기시간이 길어지고 서비스에 불필요한 부하가 발생한다. 한 서비스의 부하는 다른 서비스의 부하로 이어지는데 이런 현상을 cascading failure라 한다. 이때 circuit breaking을 통해 과부하된 서비스의 연결을 끊고 서비스가 회복할 시간을 줄 수 있다. 예시를 통해 확인해보자. 다음은 fleet-staff-service에서 risky와 safe으로 트래픽을 보내는 경우다. safe의 경우 200 응답이 오지만, risky는 종종 5xx에러의 응답이 온다...
-
Istio Session Affinity 정리K8S 2021. 6. 22. 15:15
이스티오에서는 Consistent hashing을 이용하여 session을 유지할 수 있다. consistent hasing이란? 공식문서를 참고해보면 다음과 같다. 로드밸런서에서는 hash 알고리즘을 이용하여 client로부터 받은 데이터를 hashing한 후 데이터를 포드로 전송한다. 이 때 해쉬된 값을 이용하여 sticky session을 유지한다. 이스티오에서는 다음과 같이 consistent hasing에 대한 속성들을 제공한다. ※ 참고 이스티오에서 stickey session과 카나리를 위한 virtual service의 weighted 옵션을 동시에 사용할 수 없다. weight 옵션과 consistentHash가 설정된 virtual service에서는 weighted 옵션만 적용되어 나..
-
Istio kiali를 이용한 카나리 구성과 virtual service, destination rule 정리K8S 2021. 6. 21. 10:58
이번 포스팅에서는 키알리를 이용해서 카나리를 구현하고 생성된 virtual service와 destination rule에 대해서 알아본다. 1. 키알리를 이용한 카나리 구현 다음은 Kiali dashboard를 통해서 본 fleetman-staff-service 서비스로 들어온 트래픽을 staff-service deploylment와 staff-service-risky-version deployment 워크로드로 로드밸런싱하는 상황이다. (staff-service-risky-version가 카나리가 된다!) (api-gateway와 Position-tracker는 무시하자) a..