Home

0

CoreDNS

목차 쿠버네티스 - Namespace 쿠버네티스 - Ingress Post not found: k8s/deployment/deployment Post not found: k8s/replicaset/replicaset 쿠버네티스 - Node 쿠버네티스 - Pod 쿠버네티스 - Data Plane 쿠버네티스 - Control Plane Post not found: k8s/k8s 참고 공식 문서 https://kubernetes.io/docs/concepts/services-networking/service/ CoreDNS CoreDNS는 쿠버네티스(Kubernetes) 클러스터 내에서 DNS(Domain Name System) 기능을 제공하는 가벼운 DNS 서버 쿠버네티스 클러스터 내의 파드, 서비스 및 기타 리소스를 DNS 이름으로 매핑하여 네트워크 통신에 사용됩니다. CoreDNS는 클러스터 내부에서 DNS 조회를 처리하기 위해 디폴트로 설치되는 DNS 서버입니다. 이전에는 쿠버네티스에선 kube-dns 라는 DNS 서버가 사용되었지만, 쿠버네티스 버전 1.11부터는 CoreDNS가 디폴트로 사용됩니다. CoreDNS 기능

0

Spring Batch - 23. Job 을 Step 으로 갖는 JobStep

출처 해당 포스트는 정수원 강사님의 스프링 배치 - Spring Boot 기반으로 개발하는 Spring Batch 강의를 바탕으로 작성 됐습니다. 목차 Spring Batch - ItemWriter Spring Batch - ItemProcessor Spring Batch - ItemReader Spring Batch - ChunkProvider 와 ChunkProcessor Spring Batch - ChunkOrientedTasklet Spring Batch - Chunk 기반 Step Spring Batch - 24. FlowJob Spring Batch - 23. Job 을 Step 으로 갖는 JobStep Spring Batch - 22. Tasklet 기반 Step Spring Batch - 21. TaskletStep Spring Batch - 20. StepBuilderFactory 와 StepBuilder Spring Batch - 19. JobParameters 증가 JobParametersIncrementer Spring Batch - 18. Job 의 재시작 방지 preventRestart Spring Batch - 17. JobParameters 검증 JobParametersValidator Spring Batch - 16. SimpleJob 와 SimpleJobLauncher Spring Batch - 15. JobBuilderFactory & JobBuilder JobStepJob 에 속하는 Step 중에서 외부의 Job 을 포함하고 있는 Step 입니다. 외부의 Job 이 실패하게 되면 해당 Step 이 실패하므로 결국 해당 Step 을 가진 Job 도 실패하게 됩니다. 모든 메타데이터는 기본 Job 과 외부 Job 별로 각각 저장됩니다. 커다란 시스템을 작은 모듈로 쪼개고 Job 의 흐름을 관리하고자 할때 사용할 수 있습니다. @Beanpublic Job parentJob() { return this.jobBuilderFactory.get("parentJob") .start(jobStep(null)) .next(step2()) .build();}@Beanpublic Step jobStep(JobLauncher jobLauncher) { return this.stepBuilderFactory.get("jobStep") .job(childJob()) .launcher(jobLauncher) .listener(new StepExecutionListener() { @Override public void beforeStep(StepExecution stepExecution) { stepExecution.getExecutionContext().putString("name", "user1"); } @Override public ExitStatus afterStep(StepExecution stepExecution) { return null; } }) .parametersExtractor(jobParametersExtractor()) .build();}@Beanpublic Job childJob() { return this.jobBuilderFactory.get("childJob") .start(step1()) .build();}@Beanpublic Step step1() { return stepBuilderFactory.get("step1") .tasklet(new Tasklet() { @Override public RepeatStatus execute(StepContribution contribution, ChunkContext chunkContext) throws Exception {// throw new RuntimeException("step1 was failed"); return RepeatStatus.FINISHED; } }) .build();}@Beanpublic Step step2() { return stepBuilderFactory.get("step2") .tasklet((contribution, chunkContext) -> { throw new RuntimeException("step2 was failed");// return RepeatStatus.FINISHED; }) .build();}@Bean public DefaultJobParametersExtractor jobParametersExtractor() { // ExecutionContext 에 설정된 Key 로 되있는 값을 가져올 수 있다. DefaultJobParametersExtractor extractor = new DefaultJobParametersExtractor(); extractor.setKeys(new String[]{"name"}); return extractor;}

0

쿠버네티스 - ConfigMap

목차 쿠버네티스 - Secret 쿠버네티스 - ConfigMap 쿠버네티스 - Namespace 쿠버네티스 - Ingress Post not found: k8s/deployment/deployment Post not found: k8s/replicaset/replicaset 쿠버네티스 - Node 쿠버네티스 - Pod 쿠버네티스 - Data Plane 쿠버네티스 - Control Plane Post not found: k8s/k8s ConfigMap 쿠버네티스(ConfigMap)은 애플리케이션의 설정 데이터를 저장하고 관리하기 위한 리소스 설정 데이터는 키-값 쌍으로 구성되며, 애플리케이션에서 필요한 설정 값을 포함할 수 있습니다. ConfigMap은 클러스터 수준 또는 네임스페이스 수준에서 생성될 수 있으며, 클러스터 수준의 ConfigMap은 모든 네임스페이스에서 사용할 수 있습니다. ConfigMap은 주로 환경 변수, 설정 파일, 명령행 인수 등과 같은 애플리케이션 구성에 사용됩니다. 이러한 구성 데이터는 컨테이너 이미지와 분리되어 애플리케이션을 다양한 환경에서 재사용하거나 구성을 변경할 수 있도록 합니다. 또한 ConfigMap은 애플리케이션을 업데이트하거나 배포하는 동안 구성을 쉽게 관리할 수 있도록 도와줍니다. ConfigMap은 YAML 또는 JSON 형식으로 정의되며, 쿠버네티스 클러스터에 생성 및 적용됩니다. ConfigMap을 생성한 후에는 해당 ConfigMap을 사용하려는 Pod의 컨테이너에 마운트하거나 환경 변수로 설정할 수 있습니다. 이렇게 하면 애플리케이션은 ConfigMap에서 정의된 설정 값을 사용할 수 있습니다. 예를 들어, ConfigMap에서 “db_host”라는 키에 대한 값으로 “database.example.com”을 설정하면, 애플리케이션은 이 값을 읽어와 데이터베이스 호스트로 사용할 수 있습니다. ConfigMap은 클러스터나 네임스페이스 수준에서 변경 및 관리할 수 있으므로, 변경된 설정 값은 애플리케이션을 다시 시작하지 않고도 즉시 적용될 수 있습니다. 파일을 통째로 ConfigMap 으로 만들기

0

Spring Batch - 22. Tasklet 기반 Step

출처 해당 포스트는 정수원 강사님의 스프링 배치 - Spring Boot 기반으로 개발하는 Spring Batch 강의를 바탕으로 작성 됐습니다. 목차 Spring Batch - ItemWriter Spring Batch - ItemProcessor Spring Batch - ItemReader Spring Batch - ChunkProvider 와 ChunkProcessor Spring Batch - ChunkOrientedTasklet Spring Batch - Chunk 기반 Step Spring Batch - 24. FlowJob Post not found: spring/spring-batch/tasklet/spring-batch-23-JobStep Spring Batch - 22. Tasklet 기반 Step Spring Batch - 21. TaskletStep Spring Batch - 20. StepBuilderFactory 와 StepBuilder Spring Batch - 19. JobParameters 증가 JobParametersIncrementer Spring Batch - 18. Job 의 재시작 방지 preventRestart Spring Batch - 17. JobParameters 검증 JobParametersValidator Spring Batch - 16. SimpleJob 와 SimpleJobLauncher Spring Batch - 15. JobBuilderFactory & JobBuilder Tasklet Tasklet 은 Step 에서 실행되는 작업의 단위 중 하나 Tasklet 은 Step 내에서 실행되는 작업의 단위 중 하나며 보통 단일 작업을 수행하는데 사용합니다. TaskletStep 객체에 의해 반복적으로 수행되며 Tasklet 반환값에 따라 계속 수행하거나 종료합니다. RepeatStatus : Taasklet 의 반복여부 상태 값 RepeatStatus.FINISHED : Tasklet 종료, RepeatStatus 를 null 로 반환하면 RepeatStatus.FINISHED 로 해석된다. RepeatStatus.CONTINUABLE : Tasklet 반복 Tasklet 인터페이스

0

Spring Batch - 21. TaskletStep

출처 해당 포스트는 정수원 강사님의 스프링 배치 - Spring Boot 기반으로 개발하는 Spring Batch 강의를 바탕으로 작성 됐습니다. 목차 Spring Batch - ItemWriter Spring Batch - ItemProcessor Spring Batch - ItemReader Spring Batch - ChunkProvider 와 ChunkProcessor Spring Batch - ChunkOrientedTasklet Spring Batch - Chunk 기반 Step Spring Batch - 24. FlowJob Post not found: spring/spring-batch/tasklet/spring-batch-23-JobStep Spring Batch - 22. Tasklet 기반 Step Spring Batch - 21. TaskletStep Spring Batch - 20. StepBuilderFactory 와 StepBuilder Spring Batch - 19. JobParameters 증가 JobParametersIncrementer Spring Batch - 18. Job 의 재시작 방지 preventRestart Spring Batch - 17. JobParameters 검증 JobParametersValidator Spring Batch - 16. SimpleJob 와 SimpleJobLauncher Spring Batch - 15. JobBuilderFactory & JobBuilder TaskletStep TaskletStep 은 Step 구현체 중 하나로 Tasklet 을 실행한다. TaskletStep 은 Step 인터페이스를 구현하며, Tasklet 을 실행하기 위한 Step 입니다. Tasklet 은 Step 의 실행 시점에 호출되는 단일한 실행 단위입니다. TaskletStep 을 사용하는 경우, Tasklet 인터페이스를 구현한 클래스를 작성하고, 해당 클래스에서 수행할 로직을 구현합니다. 이후 TaskletStep 을 정의할 때, 이 Tasklet 클래스를 참조하여 Step을 구성합니다. TaskletStep 을 사용하는 가장 일반적인 예는 파일을 읽어들이고, 처리한 후 결과를 파일로 출력하는 작업입니다. 이 경우, Tasklet 클래스에서 파일을 읽어들이고, 처리한 후 결과를 파일로 출력하는 로직을 구현하면 됩니다. 또한, TaskletStep 은 다양한 환경에서 사용될 수 있으며, Spring Batch의 다른 Step과 조합하여 다양한 처리 작업을 수행할 수 있습니다. TaskletStep 아키텍처

0

Spring Batch - JobListener

출처 해당 포스트는 정수원 강사님의 스프링 배치 - Spring Boot 기반으로 개발하는 Spring Batch 강의를 바탕으로 작성 됐습니다. 목차 Spring Batch - 24. FlowJob Post not found: spring/spring-batch/tasklet/spring-batch-23-JobStep Spring Batch - 22. Tasklet 기반 Step Spring Batch - 21. TaskletStep Spring Batch - 20. StepBuilderFactory 와 StepBuilder Spring Batch - 19. JobParameters 증가 JobParametersIncrementer Spring Batch - 18. Job 의 재시작 방지 preventRestart Spring Batch - 17. JobParameters 검증 JobParametersValidator Spring Batch - 16. SimpleJob 와 SimpleJobLauncher Spring Batch - 15. JobBuilderFactory & JobBuilder Spring Batch - 14. 배치 초기화 설정 (application.properties) Spring Batch - 13. JobLauncher Spring Batch - 12. JobRepository Spring Batch - 11. ExecutionContext Spring Batch - 10. StepContribution Spring Batch - 09. StepExecution 와 STEP_EXECUTION 테이블 Spring Batch - 08. Step Spring Batch - 07. JobExecution 와 JOB_EXECUTION 테이블 Spring Batch - 06. JobParameter 와 JOB_EXECUTION_PARAM 테이블 Spring Batch - 05. JobInstance 와 JOB_INSTANCE 테이블 Spring Batch - 04. JobLauncher Spring Batch - 03. Job Spring Batch - 02. Batch 에서 사용하는 Table Spring Batch - 01. @EnableBatchProcessing JobListener JobListener는 Job 실행 전후에 특정 작업을 수행할 수 있도록 하는 인터페이스 beforeJob 메서드는 Job 실행 전에 호출되며, JobExecutionContext를 인자로 받습니다. 이 메서드에서는 Job 실행 전에 수행해야 하는 작업을 구현할 수 있습니다. afterJob 메서드는 Job 실행 후에 호출되며, JobExecution과 JobExecutionDecider를 인자로 받습니다. 이 메서드에서는 Job 실행 후에 수행해야 하는 작업을 구현할 수 있습니다. public interface JobListener { public void beforeJob() throws Exception; public void afterJob() throws Exception;}

0

Spring Batch - 20. StepBuilderFactory 와 StepBuilder

출처 해당 포스트는 정수원 강사님의 스프링 배치 - Spring Boot 기반으로 개발하는 Spring Batch 강의를 바탕으로 작성 됐습니다. 목차 Spring Batch - ItemWriter Spring Batch - ItemProcessor Spring Batch - ItemReader Spring Batch - ChunkProvider 와 ChunkProcessor Spring Batch - ChunkOrientedTasklet Spring Batch - Chunk 기반 Step Spring Batch - 24. FlowJob Post not found: spring/spring-batch/tasklet/spring-batch-23-JobStep Spring Batch - 22. Tasklet 기반 Step Spring Batch - 21. TaskletStep Spring Batch - 20. StepBuilderFactory 와 StepBuilder Spring Batch - 19. JobParameters 증가 JobParametersIncrementer Spring Batch - 18. Job 의 재시작 방지 preventRestart Spring Batch - 17. JobParameters 검증 JobParametersValidator Spring Batch - 16. SimpleJob 와 SimpleJobLauncher Spring Batch - 15. JobBuilderFactory & JobBuilder StepBuilderFactory StepBuilder 를 생성하는 팩토리 클래스 public class StepBuilderFactory { private JobRepository jobRepository; private PlatformTransactionManager transactionManager; public StepBuilderFactory(JobRepository jobRepository, PlatformTransactionManager transactionManager) { this.jobRepository = jobRepository; this.transactionManager = transactionManager; } public StepBuilder get(String name) { StepBuilder builder = new StepBuilder(name).repository(jobRepository).transactionManager( transactionManager); return builder; }} StepBuilder Step 구성을 쉽게 하기 위한 빌더 클래스

0

Spring Batch - 19. JobParameters 증가 JobParametersIncrementer

출처 해당 포스트는 정수원 강사님의 스프링 배치 - Spring Boot 기반으로 개발하는 Spring Batch 강의를 바탕으로 작성 됐습니다. 목차 Spring Batch - 24. FlowJob Post not found: spring/spring-batch/tasklet/spring-batch-23-JobStep Spring Batch - 22. Tasklet 기반 Step Spring Batch - 21. TaskletStep Spring Batch - 20. StepBuilderFactory 와 StepBuilder Spring Batch - 19. JobParameters 증가 JobParametersIncrementer Spring Batch - 18. Job 의 재시작 방지 preventRestart Spring Batch - 17. JobParameters 검증 JobParametersValidator Spring Batch - 16. SimpleJob 와 SimpleJobLauncher Spring Batch - 15. JobBuilderFactory & JobBuilder Spring Batch - 14. 배치 초기화 설정 (application.properties) Spring Batch - 13. JobLauncher Spring Batch - 12. JobRepository Spring Batch - 11. ExecutionContext Spring Batch - 10. StepContribution Spring Batch - 09. StepExecution 와 STEP_EXECUTION 테이블 Spring Batch - 08. Step Spring Batch - 07. JobExecution 와 JOB_EXECUTION 테이블 Spring Batch - 06. JobParameter 와 JOB_EXECUTION_PARAM 테이블 Spring Batch - 05. JobInstance 와 JOB_INSTANCE 테이블 Spring Batch - 04. JobLauncher Spring Batch - 03. Job Spring Batch - 02. Batch 에서 사용하는 Table Spring Batch - 01. @EnableBatchProcessing JobParameters 증가 - JobParametersIncrementer JobParameters 의 변경없이 Job 을 여러번 재시작 하고 싶은 경우 설정 JobParameters 의 필요한 값을 증가시켜 다음에 사용될 JobParameters 객체를 반환합니다. 기존의 JobParameters 의 변경없이 Job 을 여러번 재시작 하고 싶은 경우 설정합니다. RunIdIncrementer 구현체를 지원하며 필요에 따라 JobParametersIncrementer 인터페이스를 직접 구현할 수 있습니다.