팁 (조언)
Azure Kubernetes Service를 사용하는 이 자습서의 업데이트된 버전은 컨테이너용 Azure Monitor(미리 보기) 개요를 참조하세요.
경고
ACS(Azure Container Service)는 더 이상 사용되지 않습니다. ACS에 새로운 기능이나 기능이 추가되지 않습니다. 모든 API, 포털 환경, CLI 명령 및 설명서는 더 이상 사용되지 않는 것으로 표시됩니다.
2017년에는 Kubernetes 관리, 배포 및 작업을 간소화하기 위해 AKS(Azure Kubernetes Service)를 도입했습니다. Kubernetes 오케스트레이터를 사용하는 경우 2020년 1월 31일까지 AKS로 마이그레이션하세요. 시작하려면 Azure Kubernetes Service로 마이그레이션을 참조 하세요.
자세한 내용은 Azure.com Azure Container Service 사용 중단 공지 사항을 참조하세요.
Kubernetes 클러스터 및 컨테이너 모니터링은 특히 여러 앱을 사용하여 대규모로 프로덕션 클러스터를 관리하는 경우에 중요합니다.
Microsoft 또는 다른 공급자에서 여러 Kubernetes 모니터링 솔루션을 활용할 수 있습니다. 이 자습서에서는 Microsoft의 클라우드 기반 IT 관리 솔루션인 Log Analytics의 컨테이너 솔루션을 사용하여 Kubernetes 클러스터를 모니터링합니다. (컨테이너 솔루션은 미리 보기로 제공됩니다.)
이 자습서에서는 7부 중 7부에서 다음 작업을 다룹니다.
- Log Analytics 작업 영역 설정 가져오기
- Kubernetes 노드에서 Log Analytics 에이전트 설정
- Log Analytics 포털 또는 Azure Portal에서 모니터링 정보에 액세스
시작하기 전 주의 사항:
이전 자습서에서는 애플리케이션이 컨테이너 이미지로 패키지되었고, 이러한 이미지가 Azure Container Registry에 업로드되었으며, Kubernetes 클러스터가 만들어졌습니다.
이러한 단계를 수행하지 않은 경우 다음을 수행하려면 자습서 1 -컨테이너 이미지 만들기로 돌아갑니다.
작업 영역 설정 가져오기
Log Analytics 포털에 액세스할 수 있는 경우연결된 원본>Linux 서버설정>으로 이동합니다. 작업 영역 ID 와 기본 또는 보조 작업 영역 키를 찾을 수 있습니다. 클러스터에서 Log Analytics 에이전트를 설정해야 하는 이러한 값을 기록해 둡니다.
Kubernetes 비밀 만들기
[kubectl create secret][kubectl-create-secret] 명령을 사용하여 명명된 omsagent-secret Kubernetes 비밀에 Log Analytics 작업 영역 설정을 저장합니다.
WORKSPACE_ID을(를) Log Analytics 작업 영역 ID로, WORKSPACE_KEY을(를) 작업 영역 키로 업데이트하십시오.
kubectl create secret generic omsagent-secret --from-literal=WSID=WORKSPACE_ID --from-literal=KEY=WORKSPACE_KEY
Log Analytics 에이전트 설정
다음 Kubernetes 매니페스트 파일을 사용하여 Kubernetes 클러스터에서 컨테이너 모니터링 에이전트를 구성할 수 있습니다. 각 클러스터 노드에서 동일한 단일 Pod를 실행하는 Kubernetes DaemonSet을 만듭니다.
다음 텍스트를 .라는 oms-daemonset.yaml파일에 저장합니다.
apiVersion: extensions/v1beta1
kind: DaemonSet
metadata:
name: omsagent
spec:
template:
metadata:
labels:
app: omsagent
agentVersion: 1.4.3-174
dockerProviderVersion: 1.0.0-30
spec:
containers:
- name: omsagent
image: "microsoft/oms"
imagePullPolicy: Always
securityContext:
privileged: true
ports:
- containerPort: 25225
protocol: TCP
- containerPort: 25224
protocol: UDP
volumeMounts:
- mountPath: /var/run/docker.sock
name: docker-sock
- mountPath: /var/log
name: host-log
- mountPath: /etc/omsagent-secret
name: omsagent-secret
readOnly: true
- mountPath: /var/lib/docker/containers
name: containerlog-path
livenessProbe:
exec:
command:
- /bin/bash
- -c
- ps -ef | grep omsagent | grep -v "grep"
initialDelaySeconds: 60
periodSeconds: 60
nodeSelector:
beta.kubernetes.io/os: linux
# Tolerate a NoSchedule taint on master that ACS Engine sets.
tolerations:
- key: "node-role.kubernetes.io/master"
operator: "Equal"
value: "true"
effect: "NoSchedule"
volumes:
- name: docker-sock
hostPath:
path: /var/run/docker.sock
- name: host-log
hostPath:
path: /var/log
- name: omsagent-secret
secret:
secretName: omsagent-secret
- name: containerlog-path
hostPath:
path: /var/lib/docker/containers
다음 명령을 사용하여 DaemonSet을 만듭니다.
kubectl create -f oms-daemonset.yaml
DaemonSet이 만들어졌는지 확인하려면 다음을 실행합니다.
kubectl get daemonset
출력은 다음과 유사합니다:
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE-SELECTOR AGE
omsagent 3 3 3 0 3 <none> 5m
에이전트가 실행되면 Log Analytics에서 데이터를 수집하고 처리하는 데 몇 분 정도 걸립니다.
모니터링 데이터 액세스
Log Analytics 포털 또는 Azure Portal에서 컨테이너 솔루션을 사용하여 컨테이너 모니터링 데이터를 보고 분석합니다.
Log Analytics 포털을 사용하여 컨테이너 솔루션을 설치하려면 솔루션 갤러리로 이동합니다. 그런 다음 , 컨테이너 솔루션을 추가합니다. 또는 Azure Marketplace에서 컨테이너 솔루션을 추가합니다.
Log Analytics 포털에서 대시보드에서 컨테이너 요약 타일을 찾습니다. 컨테이너 이벤트, 오류, 상태, 이미지 인벤토리, CPU 및 메모리 사용량 등의 세부 정보를 보려면 타일을 클릭합니다. 자세한 내용은 타일에서 행을 클릭하거나 로그 검색을 수행합니다.
마찬가지로 Azure Portal에서 Log Analytics 로 이동하여 작업 영역 이름을 선택합니다. 컨테이너 요약 타일을 보려면 솔루션컨테이너를> 클릭합니다. 세부 정보를 보려면 타일을 클릭합니다.
모니터링 데이터 쿼리 및 분석에 대한 자세한 지침은 Azure Log Analytics 설명서를 참조하세요.
다음 단계
이 자습서에서는 Log Analytics를 사용하여 Kubernetes 클러스터를 모니터링했습니다. 포함된 작업은 다음과 같습니다.
- Log Analytics 작업 영역 설정 가져오기
- Kubernetes 노드에서 Log Analytics 에이전트 설정
- Log Analytics 포털 또는 Azure Portal에서 모니터링 정보에 액세스
이 링크를 따라 Container Service에 대한 미리 빌드된 스크립트 샘플을 확인합니다.