쿠버네티스는 하나의 MASTER [control-plane]와 여러 서버 NODE[node]가 존재 MASTER를 실행시켜야 쿠버네티스가 돌아가고 있다고 할 수 있다. sudo kubeadm init --pod-network-cidr=10.100.0.0/16 sudo kubeadm init --pod-network-cidr=10.100.0.0/16 -v=5 => 클러스터 구성과정을 자세히 보여줌 pod => 도커의 컨테이너 개념으로 쿠버네티스에서 다루는 배포의 최소 단위 10.100.0.0/16 => 쿠버네티스가 설치된 이 PC에 존재하는 IP와 상관없이 구성 요소들끼리 통신이 가능하도록 묶는 IP 대역 **문서 -create-cluster-kubeadm https://kubernetes.io/docs/..
https://sh970901.tistory.com/40 Linux(centOS9) 설정 1(CentOS, Virtural BOX, PuTTy 원격 접속) Virtural BOX 설치 https://www.virtualbox.org/ Virtural BOX 확장팩 설치 https://www.virtualbox.org/wiki/Downloads CentOS9.iso 설치 https://www.centos.org/download/ PuTTY 설치 https://www.putty.org/.. sh970901.tistory.com 실습 환경은 위에서 포스팅한 CentOS9, VB를 이용하였다. 가상머신 필수사항 프로세서 : 2개 이상 메모리 : 4GB 이상 저장소 : 32GB 이상 네트워크 : 브릿지 네트워크 ..
https://sh970901.tistory.com/108 를 참고하여 REST API를 개발하기 위한 RsData를 생성하였다. Member 컨트롤러를 생성하여 로그인 요청에 대한 처리를 작성해보자. @PostMapping("/login") public ResponseEntity login(@Valid @RequestBody LoginDto loginDto) { Member member = memberService.findByUsername(loginDto.getUsername()).orElse(null); if (member == null) { return Util.spring.responseEntityOf(RsData.of("F-2", "일치하는 회원이 존재하지 않습니다.")); } if (pass..
ResponseEntity를 작성할 때 header, body, status code를 분리하여 REST API를 구현하였는데 잘못된 요청 시도에서 body에 잘못된 요청이라는 정보를 편리하게 싣고 상태 코드도 커스텀하여 body에 추가하려한다. 따라서 필자는 Result Data 줄여서 RsData라는 클래스를 만들어서 활용하였다. @Getter @Setter @AllArgsConstructor public class RsData { private String resultCode; private String msg; private T data; public static RsData of(String resultCode, String msg, T data) { return new RsData(result..
1. SecurityConfig를 작성하자. JwtAuthorizationFilter 라는 필터를 생성하여 스프링 시큐리티 내부에 여러 인증 필터 중 만만한 UsernamePasswordAuthenticationFilter 앞에 추가하였다. @Bean public SecurityFilterChain apiFilterChain(HttpSecurity http) throws Exception { http .antMatcher("/api/**") .exceptionHandling(exceptionHandling -> exceptionHandling .authenticationEntryPoint(authenticationEntryPoint) ) .httpBasic().disable() .csrf().disabl..
JWT에 대한 이론은 https://sh970901.tistory.com/85 포스팅했으니 참고하도록 하자. 1. build.gradle에 JWT와 Security 관련 라이브러리를 추가해준다. //JWT 관련 implementation 'io.jsonwebtoken:jjwt-api:0.11.5' runtimeOnly 'io.jsonwebtoken:jjwt-impl:0.11.5' runtimeOnly 'io.jsonwebtoken:jjwt-jackson:0.11.5' //Security 관련 implementation 'org.springframework.boot:spring-boot-starter-security' implementation 'org.thymeleaf.extras:thymeleaf-ex..