본문 바로가기

가상화/Kubernetes

(32)
kubernetes dashboard 설치 +++++ 버전: Dashboard v2.4.0+0.ge75ebcf68 +++++ 1. Manifest(yaml) 파일 다운로드 > wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.4.0/aio/deploy/recommended.yaml 2. 적용 > kubectl apply -f recommanded.yaml 3. dashboard ingress 생성 > vi dashboard-ingress.yaml --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: namespace: kubernetes-dashboard name: kubernetes-dashboard-ingress annotat..
[Docker] Tomcat 컨테이너 Heap 모니터링 개요 docker, kubernetes cluster 환경에서 java heap 모니터링 방법 구성환경 docker-ce 19.03.5, kubernetes v1.18.0, tomcat 8.5.53 톰캣 컨테이너의 힙 모니터링을 하기 위해서는 docker 실행시 --cap-add=SYS_PTRACE 옵션을 추가해야 한다. 예시 1) docker run 명령어에 --cap-add=SYS_PTRACE 옵션 추가 후 jmap 명령어를 이용하여 heap 상태체크및 덤프 shell> docker run -d --cap-add=SYS_PTRACE -e "JAVA_OPTS=-Xms512m -Xmx512m" --name mytomcat tomcat:8.5.53 54c29c557b2ff5afd3a4a65f709bd602..
[kubernetes] Kubernetes에 SQL Server 컨테이너 배포 개요 예제에서는 배포를 만들어 공유 디스크 장애 조치(failover) 클러스터 인스턴스와 비슷한 고가용성 구성을 얻는 방법을 보여 줍니다. 이 구성에서 Kubernetes는 클러스터 오케스트레이터의 역할을 수행합니다. 컨테이너의 SQL Server 인스턴스가 실패하면 오케스트레이터는 동일한 영구적 스토리지에 연결된 또 다른 컨테이너 인스턴스를 부트스트랩합니다. 구성환경 docker-ce 19.03.5, kubernetes v1.18.0 kubernetes 클러스터 환경에서 mssql 컨테이너 생성 구성 절차 1. 이미지 다운로드 2. SA 암호만들기 3. 볼륨 만들기 4. 배포 만들기 5. Failover 테스트 1. 이미지 다운로드(모든 worker 노드에서 실행) shell> docker pull ..
[docker] mssql server 및 tools 설치 개요 다양한 docker 환경에서 Mssql Server, Tools 설치하는 방법및 msql Tool을 이용하여 sql server 접속하는 방법에 대해 알아본다. 구성환경 docker-ce 19.03.5, kubernetes v1.18.0, docker-compose 1.18.0 MSSQL Server 설치 1. docker run 명령어를 이용하여 컨테이너 생성 step 1) 이미지 다운로드 shell> docker pull mcr.microsoft.com/mssql/server:2017-CU20-ubuntu-16.04 step 2) 컨테이너 실행 shell> docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=yourStrong(!)Password' -p 1433:1..
[kubernetes] 외부 nginx + kubernetes tomcat 연동 개요 구성환경
[kubernetes] Kubernetes에서 Ingress 와 Tomcat 연동 개요 구성환경 1. Tomcat 이미지 다운로드 shell> docker pull tomcat:8.5.53 2. 배치 생성 shell> kubectl apply -f tomcatproject1-deployment.yaml - tomcatproject1-deployment.yaml apiVersion: apps/v1 kind: Deployment metadata: name: tomcatproject1-deployment labels: app: tomcatproject1 spec: replicas: 1 selector: matchLabels: app: tomcatproject1 template: metadata: labels: app: tomcatproject1 spec: containers: - name:..
[kubernetes] 노드 유지보수 개요 (커널 업그레이드, libc 업그레이드, 하드웨어 수리 등으로) 한 노드를 리부트해야하는데 다운타임이 짧다면, Kubelet이 재시작할 때 해당 노드에 스케줄된 파드들을 재시작하려고 할 것이다. 만약 리부트가 길게 걸린다면 (컨트롤러 관리자의 --pod-eviction-timeout으로 제어되는 기본 시간은 5분이다.) 노드 컨트롤러는 사용불가한 노드에 묶여져 있는 파드들을 종료 시킬 것이다. 업그레이드 과정을 상세하게 통제할 수 있는 kubectl drain, kubectl 사용방법에 대해 알아보자. 구성환경 Kubernetes v1.17.4, docker-ce 19.03.8 - 노드에 스케줄할 수 없도록 표시하면서 해당 노드 상의 모든 파드들을 자연스럽게 종료하기 위해 kubectl drain을..
[Docker] Priviate registry 구성 #4 - imagePullSecrets 작성 개요 kubernetes cluster 환경에서 private registry에 사용자 인증이 설정되어 있을 경우, 작업 노드(woker node)에서 이미지를 pull 하기 위해서는 배치 파일에 imagePullSecrets 섹션을 설정해야만 이미지를 pull 할수 있다. 여기서는 secret 생성 및 배치에 imagePullSecret 섹션 설정 방법에 대해 알아보도록 한다. 구성환경 kubernetes v1.17.4, docker-ce-19.03.5, registry 2.7.1 1. 기존 존재하는 Docker 자격 증명을 기반으로 Secret 만들기 docker login 명령어를 실행하면 $HOME/.docker/config.json 파일에 자격증명이 만들어 진다. 이 파일을 이용하여 Secret..