<aside> 💡 ***Operator란 ?
GitHub Link -*** https://github.com/syyjbhjh3/yjOps
****** https://kubernetes.io/ko/docs/concepts/extend-kubernetes/operator/ 오퍼레이터(Operator)는 사용자 정의 리소스를 사용하여 애플리케이션 및 해당 컴포넌트를 관리하는 쿠버네티스의 소프트웨어 익스텐션(어렵다….)
쿠버네티스는 자동화를 위해 설계되었다. 기본적으로 쿠버네티스의 중추를 통해 많은 빌트인 자동화 기능을 사용할 수 있다. 쿠버네티스를 사용하여 워크로드 배포 및 실행을 자동화할 수 있고, 또한 쿠버네티스가 수행하는 방식을 자동화할 수 있다. 쿠버네티스의 오퍼레이터 패턴 개념을 통해 쿠버네티스 코드 자체를 수정하지 않고도 컨트롤러를 하나 이상의 사용자 정의 리소스(custom resource)에 연결하여 클러스터의 동작을 확장할 수 있다. 오퍼레이터는 사용자 정의 리소스의 컨트롤러 역할을 하는 쿠버네티스 API의 클라이언트다.
</aside>
Java용 Kubernetes Client API
null
인 경우도 많아서 코드 가독성 하락Kubernetes Client Java API인 fabric8io gradle dependencies 추가
plugins {
id 'java'
id 'org.springframework.boot' version '3.3.1'
id 'io.spring.dependency-management' version '1.1.5'
}
group = 'com.example'
version = '0.0.1-SNAPSHOT'
java {
toolchain {
languageVersion = JavaLanguageVersion.of(22)
}
}
repositories {
mavenCentral()
}
dependencies {
annotationProcessor 'io.fabric8:crd-generator-apt:6.13.0'
implementation 'org.springframework.boot:spring-boot-starter'
implementation 'io.javaoperatorsdk:operator-framework-spring-boot-starter:5.5.0'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testImplementation 'io.javaoperatorsdk:operator-framework-spring-boot-starter-test:5.5.0'
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
}
tasks.named('test') {
useJUnitPlatform()
}