전체 글 (730) 썸네일형 리스트형 [JPA] 모델 설계 및 구현 프로젝트의 진행이 조금 더뎌졌다... 이직과 이직한 회사에서의... 신규 기술 학습으로 인해... 무튼 오늘 진행한 내용 별건없지만, 다시 마음을 다잡기로 해서, 다시 첫번째 커밋을 진행하였다. 1) 모델 구현 admin, user admin은 패스워드와 , 아이디 user는 대기를 등록하고 알림메시지를 받을 모델로 구현했다. 자체적으로 PK는 시퀀스로 등록을 했고, admin 의 id,pw는 서로 validation체크를 하지 않게끔 우선은 설계를 하였다. 넣을때 해도되고, 아니면 PK를 추가적으로 잡아도되니... 우선 이렇게 진행을 하기로하였다. 2) 초기 로드시, 기본 관리자 계정 생성 어떻게 보면, 슈퍼 admin이다. 로드할때 특정 아이디와 비번으로 계정을 생성한다. 이는 메모리 디비이기 때문에.. [Spring cloud] Gateway 2_데모 샘플 실제 적용된 소스를 보면서 공부를 해보자 우선 대부분의 MSA소스에서, 그렇듯이 실습으로 구현 및 살펴볼 Gateway소스 또한 , config 와 service discovery 서버가 따로 띄워져있다고 가정하자 우선 Gateway 플젝을 생성한다. 이정도 디펜던시 정도만 추가해서 생성한다. 별다른건 없고, 빠르게 라우트를 추가해보자 http://localhost:8080/google/test 로 접속시에, google의 test로 검색했을때의 화면으로 리다이렉트 되게 끔 처리해보자 predicates는 path에 대한 검사이다. 만약 해당 url로 들어오면, googel.com으로 리다이렉트하고, filter를 통해서, requestparam이 추가, https://www.google.com/sear.. [Spring Cloud] Gateway 공부 1 Gateway 관련 얕게 구현해봤고, 공부를 대충 해봤다. 이제 개념을 다시 익히고, 다시 공부를 시작해보면서 좀 더 깊게 개발을 진행해보자 API- Gateway는 클라이언트와 백엔드 서비스 사이에 위치하는 리버스 프록시 역할을 한다. 인증, 속도제어, 서킷브레이커,모니터링 등 다양한 공통 관리 모듈을 추가하여, 모든 API들의 관문의 역할을 하는 서비스 이다. 우선 Gateway는 Netty를 사용한다. 모든 요청이 통과하는 곳이기 때문에 성능적인 측면이 매우 중요하며, 기존의 1Thread/ 1 Request방식인 MVC를 사용하면 이슈가 발생한다. Netty 는 비동기 Was이고, 1Thread / Many Request이기 때문에 기존 방식보다 더 많은 요청을 처리할 수있다. 동작 방식은 아래와.. [k8s] Deployment 실습 Deployment는 쿠버네티스에서 가장 널리 사용되는 오브젝트 이다. ReplicaSet을 이용해서 Pod을 업데이트하고, 이력을 관리하여 롤백 하거나 특정 버전으로 돌아 갈 수 있다. 라는데... 감이 완전히 오지는 않네... 우선 해보자 ReplicaSet과 상당히 유사하며, 심지어 replica를 설정하는 부분도 있다. 템플릿과 같이 스케일 아웃시 어떤 포맷 기준으로 할지도 적어 놓고, 컨테이너에 대한 이름과 이미지도 지정이 되어있다. 이런식으로 하면, deploy에 대한 걸 확인 해 볼 수 있다. 레플리카셋이랑 뭐가다름? 이라고하면 업데이트할 때 다르다고한다. 기존설정에서 이미지 태그를 변경하고 적용해보자 마지막만 보자, 이미지 태그를 v1 -> v2로 변경하고 apply를 하면, 기존걸 삭제하.. [k8s] ReplicaSet 실습 Pod을 단독으로 만들면, Pod에 어떤 문제가 생겼을때 자동으로 복구되지가 않는다. 이러한 pod을 정해진 수만큼 복제하고 관리하는것이 ReplicaSet이다. 아래와 같이 생성한다. ReplicaSet이고, template은 삭제되어 추가될때 해당 템플릿 기준으로 생성된다는 의미이다. 또한 selector 는 label기준으로 가져오게 된다. 즉, 이렇게 작성하여, 생성하면 이렇게 된다. 또한 kubectl apply -f 로 yaml 파일 기준 생성하고, kubectl get 하면 아래와 같다. ReplicaSet은 label을 체크해서 원하는 수의 pod을 생성한다. 만약에 label에서 app-을 하여, app을 빼면, replicaset에서 app에 대한 걸 찾지못하고 0개가 되었다고 판단, .. [k8s] Pod 생성 및 실습 우선 pod생성은 run으로 생성한다. kubectl run "pod name" --image "url or filename" kubectl run echo --image ghcr.io/subicura/echo:v1 kubectl describe pods/smith로도 내용을 봤다. kubectl run을 하게 되면 위와 같은 과정으로 pod이 생성된다 이전에 공부했듯이 , 스케줄러는 Api server를 통해 할당 되지 않은 pod을 검사하고, 이를 pod을 노드에 할당하도록한다. kubelet이 컨테이너를 생성하고, 이 안에 pod상태를 api server에 결과를 전달 한다. 다시 삭제하고 yaml 파일 기준으로 작성하여 pods를 생성해보도록하자 실제로는 이런 방식으로 pod을 생성하고 관리를 할.. [k8s] 기본 명령어 공부 1)apply - 원하는 상태를 적용한다. 보통 -f 옵션으로 파일과 함께 사용한다. ex. kubectl apply -f [파일 명 or URL] kubectl apply -f https://subicura.com/k8s/code/guide/index/wordpress-k8s.yml 이렇게 하면 원격 url에서 배포하는 yml 파일을 댕겨와서 적용 시켜준다. 뭔가 pods,deployment,service 들이 생성된 것을 볼 수 있다. 2)get - 리소스 목록을 보여준다. 이제 생성된 것을 봐야겠지? kubectl get pod kubectl get pods kubectl get po kubectl get pod,service kubectl get po,svc kubectl get all 위의 명령.. [k8s]Mac에서 데모 준비 1. Docker desktop 설치 -> 쿠퍼네티스 enable 실행, window에서는 minikube사용하는데, command에 일일히 치는 ㅈㄴ 귀찮;;; 2. kubectl 설치 -> 가이드 많음, 그냥 curl로 설치 Docker desktop으로, setting에서 k8s enable하면, 요로케 로컬에서 Kubernetes Cluster를 띄워버리고, kubectl을 로컬 터미널에서 치면 정상적으로 확인이 가능하다. kubectl version --output yaml kubectl config get-contexts kubectl get pods -- all-namespaces 우선 위 커맨드 내용이 정상적으로 출력되면 이제 데모를 위한 준비가 완료된 것이다. 이전 1 ··· 38 39 40 41 42 43 44 ··· 92 다음