본문 바로가기

분류 전체보기25

Kubernetes 의 Object 리소스 종류와 수집 명령어 정리 Kubernetes Object 리스트 인그레스 (Ingress) 서비스 (Service) 파드 (Pod) 컨피그맵 (ConfigMap) 시크릿 (Secret) 볼륨 (PVC, PV) 워크로드 컨트롤러Workload Controller 디플로이먼트 (Deployment) 스테이트풀셋 (StatefulSet) 데몬셋 (DemonSet) 잡 (Job) 크론잡 (CronJob) 2023. 7. 3.
간편하게 예쁜 Select 박스를 만들어보자 (select2) 안녕하세요, 메가존 클라우드의 코드보안관을 담당하고 있는 매드준입니다. 탕탕탕탕.. ( ﹁ ﹁ ) ~→ 웹을 개발하면서 가장 중요하게 생각하는 게 바로 "UI를 어떻게하면 이쁘게 그릴 수 있을까"인데요. 라이브러리를 사용하여 UI를 이쁘게 다듬어봅시다! 그리하여! 제가 갖고온 라이브러리는 select2입니다. select2는 MIT 라이센스이므로 자유롭게 사용할 수 있다는 장점과 이쁘다는 최고의 장점이 있어서 한번 사용해 보았는데 괜찮아서 여러분들께 소개 시켜드릴려고 합니다! 그럼 따라오세요! 탕탕! 01. 설치하기 CDN으로 JS파일 제공받기 CDN은 (Content Delivery NetWork)의 약자입니다. 즉 cdn에 등록된 js를 제공받아서 select2를 사용가능하게 하는 방법입니다. 다만,.. 2023. 6. 29.
Docker Swarm Config 와 K8S 의 ConfigMap 컨피그맵(ConfigMap) 컨피그맵은 키-값 쌍으로 기밀이 아닌 데이터를 저장하는 데 사용하는 API 오브젝트이다. 파드는 볼륨에서 환경 변수, 커맨드-라인 인수 또는 구성 파일로 컨피그맵을 사용할 수 있다. 컨피그맵을 사용하면 컨테이너 이미지에서 환경별 구성을 분리하여, 애플리케이션을 쉽게 이식할 수 있다. 주의: 컨피그맵은 보안 또는 암호화를 제공하지 않는다. 저장하려는 데이터가 기밀인 경우, 컨피그맵 대신 시크릿(Secret) 또는 추가(써드파티) 도구를 사용하여 데이터를 비공개로 유지하자. 사용 동기 애플리케이션 코드와 별도로 구성 데이터를 설정하려면 컨피그맵을 사용하자. 예를 들어, 자신의 컴퓨터(개발용)와 클라우드(실제 트래픽 처리)에서 실행할 수 있는 애플리케이션을 개발한다고 가정해보자. .. 2023. 6. 29.
Docker Swarm 의 Cronjob 과 K8S의 Cronjob 크론잡(CronJob)으로 자동화된 작업 실행 크론잡을 이용하여 잡(Job)을 시간 기반의 스케줄에 따라 실행할 수 있다. 이러한 자동화된 잡은 리눅스 또는 유닉스 시스템의 크론 작업처럼 실행된다. 크론 잡은 백업을 수행하거나 이메일을 보내는 것과 같이 주기적이고 반복적인 작업들을 생성하는 데 유용하다. 크론 잡은 시스템 사용이 적은 시간에 잡을 스케줄하려는 경우처럼 특정 시간에 개별 작업을 스케줄할 수도 있다. 크론 잡에는 제한 사항과 특이점이 있다. 예를 들어, 특정 상황에서는 하나의 크론 잡이 여러 잡을 생성할 수 있다. 따라서, 잡은 멱등성을 가져야 한다. 크론잡(CronJob) 생성 크론 잡은 구성 파일이 필요하다. 다음은 1분마다 간단한 데모 작업을 실행하는 크론잡 매니페스트다. applica.. 2023. 6. 29.
Docker Swarm 의 extra_host 와 K8S 의 HostAlias HostAliases로 파드의 /etc/hosts 항목 추가하기 파드의 /etc/hosts 파일에 항목을 추가하는 것은 DNS나 다른 방법들이 적용되지 않을 때 파드 수준의 호스트네임 해석을 제공한다. PodSpec의 HostAliases 항목을 사용하여 이러한 사용자 정의 항목들을 추가할 수 있다. HostAliases를 사용하지 않은 수정은 권장하지 않는데, 이는 호스트 파일이 kubelet에 의해 관리되고, 파드 생성/재시작 중에 덮어쓰여질 수 있기 때문이다. 기본 호스트 파일 내용 파드 IP가 할당된 Nginx 파드를 시작한다. kubectl run nginx --image nginx pod/nginx created 파드 IP를 확인해보자. kubectl get pods --output=wide .. 2023. 6. 29.
Java Service Tree Framework 의 옵서버(Observer) 패턴 설명 ( DWR ) 옵서버(Observer) 패턴은 객체 사이에 일대다 의존성을 정의하는 패턴입니다. 이 패턴은 한 객체의 상태가 변경되면 그 객체에 의존하는 다른 객체들에게 자동으로 알림을 보내 업데이트를 수행할 수 있게 합니다. 자바 코드를 통해 옵서버 패턴의 예시를 살펴보겠습니다. 가정해보겠습니다. 우리는 주식 시장에서 주식 가격의 변화를 추적하는 프로그램을 개발하고 있습니다. 주식 가격은 변동이 있을 때마다 다른 객체들에게 알림을 보내어 업데이트를 수행하고자 합니다. 옵서버 패턴을 사용하여 이를 구현해보겠습니다. 먼저, 주식 가격 변동을 추적할 주체인 Subject 인터페이스를 정의합니다: public interface Subject { void registerObserver(Observer observer); vo.. 2023. 6. 29.
Java Service Tree Framework 의 데코레이터(Decorator) 패턴 설명 ( 동적 테이블 :: Hibernate :: empty interceptor ) 데코레이터(Decorator) 패턴은 객체의 기능을 동적으로 확장할 수 있는 패턴입니다. 이 패턴은 객체를 감싸는 데코레이터 클래스를 통해 기능을 추가하거나 수정할 수 있으며, 원본 객체의 인터페이스를 유지합니다. 자바 코드를 통해 데코레이터 패턴의 예시를 살펴보겠습니다. 가정해보겠습니다. 우리는 커피(Coffee)를 만들고 있으며, 다양한 종류의 커피에 여러 가지 토핑(Topping)을 추가할 수 있습니다. 데코레이터 패턴을 사용하여 커피에 토핑을 추가하는 예시를 만들어보겠습니다. 먼저, 커피를 나타내는 Coffee 인터페이스를 정의합니다: public interface Coffee { String getDescription(); double getCost(); } 다음으로, 커피의 구체적인 종류를 구.. 2023. 6. 29.
Java Service Tree Framework 의 컴퍼지트(Composite) 패턴 설명 ( Tree Entity 의 1:N, N:1, N:N, 양방향, 단방향 ) 컴퍼지트(Composite) 패턴은 객체들을 트리 구조로 구성하여 부분-전체 계층을 표현하는 패턴입니다. 이 패턴은 개별 객체와 그 객체들을 조합한 복합 객체를 동일한 방식으로 다룰 수 있도록 해줍니다. 자바 코드를 통해 컴퍼지트 패턴의 예시를 살펴보겠습니다. 가정해보겠습니다. 우리는 조직 구조를 표현하는 프로그램을 개발하고 있습니다. 조직은 부서(Department)와 직원(Employee)으로 구성되어 있습니다. 부서는 여러 개의 부서와 직원을 가질 수 있습니다. 컴퍼지트 패턴을 사용하여 조직 구조를 표현해보겠습니다. 먼저, 조직 구성원을 나타내는 Component 인터페이스를 정의합니다: public interface Component { void showDetails(); } 다음으로, 부서(De.. 2023. 6. 29.