Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 스프링 시큐리티 없이
- 스프링 환경변수
- 멀티뷰
- mysql multi-row insert
- springboot
- hibe
- Androoid Studio
- jpa dto 매핑
- 스프링 소셜 로그인
- jpa bulk insert
- 안드로이드 스튜디오
- 스프링 오어스
- 쿠버네티스 #fabric8
- multiview
- 리사이클러뷰
- 채팅방 구현
- spring 채팅방
- 쿠버네티스
- 로또 등수 코드
- 뷰 페이징
- jpa 최적화
- 로또 등수 알고리즘
- 중간 테이블 엔티티 최적화
- 스프링 환경변수 설정
- java
- 리사이클러뷰 멀티뷰
- .env
- android studio
- 로또 앱 만들기
- oauth 로그인
Archives
- Today
- Total
야미의 개발
Spring 프로젝트에서 쿠버네티스 API 사용하기(2) - fabric8를 사용한 매트릭 추출 본문
여러가지 방법을 통해 매트릭을 추출할 수 있지만
fabric8를 사용하는 것이 가장 편리해 이 라이브러리를 사용해보겠습니다.
스프링부트 프로젝트 설정 및 Fabric8를 이용한 메트릭 추출
1. Gradle 파일에 implementation group:'io.fabric8', 부분 추가
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.mariadb.jdbc:mariadb-java-client'
implementation group:'io.fabric8', name: 'kubernetes-client', version:'6.8.1'
implementation 'o**rg.springframework.boot:spring-boot-starter-actuator'**
implementation 'io.micrometer:micrometer-registry-prometheus'
implementation 'org.json:json:20200518'
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
2. 연동을 위한 caCert 인증서 준비 cat $HOME/.kube/config 를 사용하여 caCert 확인
clusters:
- cluster:
certificate-authority-data: <base64-encoded-ca-cert-data>
server: <master-url>
<base64-encoded-ca-cert-data>가 caCert
3. 기본 설정 준비 - Test를 사용에 연동 확인
public class RestApiTest {
private String kubernetesUrl = "API 주소"
private String API_TOKEN = "Token 값 대"
private String caCert = "ceCert 대입"
Config config = new ConfigBuilder()
.withCaCertData(caCert)
.withMasterUrl(kubernetesUrl)
.withOauthToken(API_TOKEN)
.withTrustCerts(true)
.build();
KubernetesClient client = new DefaultKubernetesClient(config);
4. 이제 아래와 같은 코드로 메트릭 정보를 불러올 수 있음
@Test
public void getPodCPUAndMemory() {
logger.info("==== Pod Metrics ====");
client.top().pods().metrics("default").getItems().forEach(podMetrics ->
podMetrics.getContainers().forEach(containerMetrics ->
logger.info("{}\\t{}\\tCPU: {}{}\\tMemory: {}{}",
podMetrics.getMetadata().getName(), containerMetrics.getName(),
containerMetrics.getUsage().get("cpu").getAmount(), containerMetrics.getUsage().get("cpu").getFormat(),
containerMetrics.getUsage().get("memory").getAmount(), containerMetrics.getUsage().get("memory").getFormat()
))
);
}
- 참고
[Kubernetes] Spring에서 쿠버네티스 Pod 정보조회
[kubernetes] 쿠버네티스 목차 [kubernetes] 모니터링 방법 정리 ㅁ 개요 지난 글 [Kubernetes] 쿠버네티스API 서버 CURL 접속 방법에서 쿠버네티스API와 REST API 요청을 위한 JWT Token, Service Account 권한 설정을
peterica.tistory.com
'클라우드 개발 > 쿠버네티스' 카테고리의 다른 글
Spring 프로젝트에서 쿠버네티스 API 사용하기(3) - ec2에서 Grafana 설치 및 Prometheus, Grafana 연동 (0) | 2024.06.12 |
---|---|
Spring 프로젝트에서 쿠버네티스 API 사용하기(1) - 계정 생성 및 토큰 추출 (0) | 2024.01.30 |
Comments