본문 바로가기

React prop drilling 리액트에선 프로퍼티를 전달하기 위해 부모객체에서 자식 컴포넌트를 사용할때 attributes로 속성값을 넣어주게 되고, 자식 컴포넌트에서 해당 속성을 받아서 사용하게 된다. Parents Child const Child = (props) => {} 하지만 앱의 구조가 복잡해지게 되고 부모 자식의 관계가 많아지게 된다면 속성 전달을 위해 거쳐가는 노드가 많아지게 된다. 만약 전달해야할 자식노드까지 10개의 컴포넌트를 거쳐야 한다면 10개의 컴포넌트에서는 자신이 사용하지 않는 프토퍼티 값을 전달을 위해 받아야 하는 상황이 나오게 된다. 이러한 현상을 해결하기 위해 전역 state관리에 대한 솔루션들이 나오기 시작했다. 더보기
트러블슈팅[쿠버네티스] 쿠버네티스 calico node READY 0/1 쿠버네티스 초기화 후 calico 설치시 calico-node의 status가 Running이지만, 한참이 지나도 Ready된 컨테이너가 0/1 인때가 있다. 내경우 이런때는 보통 호스트 네트워크의 주소 범위와 calico의 주소 범위가 겹쳐 충돌로 인해 생기는 문제였다. vpc cidr = 172.16.0.0/16 이였고, pod cidr = 172.16.0.0/16 로 설정하여, 동일한 주소 범위 였기에 이런 문제가 발생했었다. 물론 calico 설치시 주소 범위를 기본 192.168.0.0/16에서 172.16.0.0/16으로 변경해주고 설치했었지만, calico-node pod가 동작하지 않았었다. kubectl describe 를 통해 pod의 문제를 검색해보니, cidr이 겹쳐 생기는 문제라 .. 더보기
트러블슈팅[쿠버네티스] 클라우드 상에서 쿠버네티스 Calico IPIP 모드 쿠버네티스의 경우 CNI 플러그인을 사용하여 네트워크 솔루션을 갖는다. 여기엔 다양한 CNI 플러그인이 존재하지만 이번 포스팅에선 calico 네트워킹에 대해 다룬다. 발견 같은 pod에서 동일한 service로 콜을 날리게 되면 간헐적으로 통신이 안되는 현상이 있었다. 이유를 알아보기 위해 서비스의 end point인 pod들을 모두 모니터링 하며 콜을 날려봤다. 같은 노드에 존재하는 pod로 통신이 가는경우에는 통신이 잘 이루어지지만, 다른 노드에 있는 pod로 갈경우 통신이 이루어지지 않음. 다음 그림과 같이 Pod A, Pod B가 Service A로 묶여있고, Test Pod에서는 Service A로 통신을 진행한다. 요청이 Service A가 지정한 라우팅 테이블을 따라 Pod A로 갈 경우에.. 더보기