• /
  • EnglishEspaΓ±olFranΓ§aisζ—₯本θͺžν•œκ΅­μ–΄PortuguΓͺs
  • λ‘œκ·ΈμΈμ§€κΈˆ μ‹œμž‘ν•˜κΈ°

μ‚¬μš©μžμ˜ 편의λ₯Ό μœ„ν•΄ μ œκ³΅λ˜λŠ” 기계 λ²ˆμ—­μž…λ‹ˆλ‹€.

영문본과 λ²ˆμ—­λ³Έμ΄ μΌμΉ˜ν•˜μ§€ μ•ŠλŠ” 경우 영문본이 μš°μ„ ν•©λ‹ˆλ‹€. 보닀 μžμ„Έν•œ λ‚΄μš©μ€ 이 νŽ˜μ΄μ§€λ₯Ό λ°©λ¬Έν•˜μ‹œκΈ° λ°”λžλ‹ˆλ‹€.

문제 μ‹ κ³ 

Kubernetes APM μžλ™ μ—°κ²°

Kubernetes APM Kubernetes 이전에 μ—μ΄μ „νŠΈ Kubernetes APM μ—°μ‚°μžλ‘œ μ•Œλ €μ§„ μžλ™ Kubernetes 연결은 μ—μ΄μ „νŠΈ 배포와 ν•¨κ»˜ 배포λ₯Ό μžλ™ν™”ν•˜μ—¬ ν™˜κ²½μ— λŒ€ν•œ ν’€μŠ€νƒ μ˜΅μ €λ²„λΉŒλ¦¬ν‹°λ₯Ό κ°„μ†Œν™”ν•©λ‹ˆλ‹€. μžλ™ 츑정을 ν™œμ„±ν™”ν•˜λ©΄ κ°œλ°œμžλŠ” 더 이상 APM μ—μ΄μ „νŠΈλ₯Ό μˆ˜λ™μœΌλ‘œ 관리할 ν•„μš”κ°€ μ—†μŠ΅λ‹ˆλ‹€. Kubernetes APM μžλ™ 연결은 APM μ—μ΄μ „νŠΈλ₯Ό μžλ™μœΌλ‘œ μ„€μΉ˜, μ—…κ·Έλ ˆμ΄λ“œ 및 μ œκ±°ν•©λ‹ˆλ‹€.

ν˜„μž¬ Java, .NET, Node.jsλ₯Ό μ§€μ›ν•©λ‹ˆλ‹€ . 파이썬, 루비, PHP.

μž‘λ™ 원리

  • μ„€μΉ˜ μ‹œ MutatingWebHookλŠ” λ…Έλ“œμ— κ΅¬ν˜„ν•˜λ‹€, λ°°ν¬ν•˜λ‹€ νŒŒλ“œμ— λŒ€ν•œ API μš”μ²­μ„ κ°€λ‘œμ±„λŠ” 데 κ΄€μ—¬ν•˜κ²Œ λ©λ‹ˆλ‹€.

  • μ§€μ •λœ 섀정을 λ°˜μ˜ν•˜μ—¬ νŒŒλ“œ 사양을 λ³€κ²½ν•˜μ—¬ NR initμ»¨ν…μŠ€νŠΈ 및 ν™˜κ²½ λ³€μˆ˜λ₯Ό μΆ”κ°€ν•©λ‹ˆλ‹€.

  • νŒŒλ“œ 섀립 이후, 뉴렐릭 APM μ—μ΄μ „νŠΈλŠ” κ·Έ μ•ˆμ— 수용된 κΈ°λŠ₯에 μ›ν™œν•˜κ²Œ ν†΅ν•©λ©λ‹ˆλ‹€.

Diagram showing how APM agents are auto injected

μ‹œμž‘ν•˜κΈ° 전에

μ˜€νΌλ ˆμ΄ν„°λ₯Ό μ„€μΉ˜ν•˜κΈ° 전에 λ‹€μŒ 사항을 ν™•μΈν•˜μ‹­μ‹œμ˜€.

μ„€μΉ˜

μš”κ΅¬ 사항에 따라 Kubernetes APM μžλ™ 연결을 Kubernetes 톡합과 ν•¨κ»˜ λ˜λŠ” λ…λ¦½μ μœΌλ‘œ μ„€μΉ˜ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

전체 ν’€μŠ€νƒ μ˜΅μ €λ²„λΉŒλ¦¬ν‹° κ²½ν—˜μ„ ν™œμš©ν•˜λ €λ©΄ 톡합과 ν•¨κ»˜ μ„€μΉ˜ν•˜λŠ” 것이 μ’‹μŠ΅λ‹ˆλ‹€.Kubernetes

Kubernetes 톡합에 μΆ”κ°€λ‘œ λ²ˆλ“€ μ„€μΉ˜(ꢌμž₯)

Kubernetes APM μžλ™ μ—°κ²° μ°¨νŠΈλŠ” nri-bundle 차트의 μΌλΆ€λ‘œ, 전체 Kubernetes μ˜΅μ €λ²„λΉŒλ¦¬ν‹°λ₯Ό ν™œμ„±ν™”ν•˜λŠ” 데 ν•„μš”ν•œ λͺ¨λ“  ꡬ성 μš”μ†Œμ˜ μ„€μΉ˜λ₯Ό κ΄€λ¦¬ν•©λ‹ˆλ‹€.

k8s-agents-operator.enabled=true νŒŒλΌλ―Έν„°λ₯Ό helm λͺ…령에 μΆ”κ°€ν•˜κ±°λ‚˜ values.yaml νŒŒμΌμ— ν¬ν•¨ν•˜μ„Έμš”. Helm μ‚¬μš©μ— λŒ€ν•œ μžμ„Έν•œ λ‚΄μš©μ€ Kubernetes 톡합 μ„€μΉ˜ νŽ˜μ΄μ§€λ₯Ό μ°Έμ‘°ν•˜κ±°λ‚˜ nri-bundle 차트λ₯Ό ν™•μΈν•˜μ„Έμš”.

μ‹œμœ„λ₯Ό μ‚¬μš©ν•˜μ—¬ Helm λͺ…λ Ή μƒ˜ν”Œμ„ ν™•μΈν•˜μ„Έμš”.

bash
$
helm repo add newrelic https://helm-charts.newrelic.com
$
$
helm upgrade --install newrelic-bundle newrelic/nri-bundle \
>
--set global.licenseKey=YOUR_NEW_RELIC_INGEST_LICENSE_KEY \
>
--set global.cluster=CLUSTER_NAME \
>
--namespace=newrelic \
>
--set newrelic-infrastructure.privileged=true \
>
--set global.lowDataMode=true \
>
--set kube-state-metrics.enabled=true \
>
--set kubeEvents.enabled=true \
>
--set k8s-agents-operator.enabled=true \
>
--create-namespace

λ…λ¦½ν˜• μ„€μΉ˜

κΈ°λ³Έ μ„€μ •μœΌλ‘œ Kubernetes APM μžλ™ 연결을 μ„€μΉ˜ν•˜λ €λ©΄ λ‹€μŒ λͺ…령을 μ‹€ν–‰ν•˜μ„Έμš”.

bash
$
helm repo add k8s-agents-operator https://newrelic.github.io/k8s-agents-operator
$
helm upgrade --install k8s-agents-operator k8s-agents-operator/k8s-agents-operator \
>
--namespace newrelic \
>
--create-namespace \
>
--set licenseKey=YOUR_NEW_RELIC_INGEST_LICENSE_KEY

μ„€μ • μ˜΅μ…˜μ˜ 전체 λͺ©λ‘μ„ 보렀면 README 차트λ₯Ό μ°Έμ‘°ν•˜μ„Έμš”.

μžλ™ 계츑 ꡬ성

ν΄λŸ¬μŠ€ν„°μ— APM μžλ™ 연결이 λͺ¨λ‘ μ„€μ •λ˜λ©΄ λ‹€μŒ λ‹¨κ³„λŠ” 이λ₯Ό μž‘λ™μ‹œν‚€λŠ” 데 ν•„μš”ν•œ ꡬ성을 λ‘€μ•„μ›ƒν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€. μ—¬κΈ°μ—λŠ” ν΄λŸ¬μŠ€ν„°μ—μ„œ μ΅œμ†Œν•œ ν•˜λ‚˜μ˜ 계츑 μ‚¬μš©μž μ •μ˜ λ¦¬μ†ŒμŠ€(CR)κ°€ ν™œμ„±ν™”λ˜μ–΄ μžˆμ–΄μ•Ό ν•©λ‹ˆλ‹€.

계츑 CR을 μ‚¬μš©ν•˜λ©΄ λ‹€μŒμ„ λ§€ν•‘ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

  • 계츑기 이름 CR
  • 츑정값을 μ μš©ν•  μœ„μΉ˜λŠ” selectorsμ‚¬μš©ν•˜λŠ” CRμž…λ‹ˆλ‹€.
  • APM μ—μ΄μ „νŠΈ(CRλ‹Ή ν•˜λ‚˜)
  • APM μ—μ΄μ „νŠΈ 버전
  • APM config μˆ˜ν–‰, (env vars)
  • λΌμ΄μ„ μŠ€ ν‚€ (선택 사항)

λ‹€μŒ λͺ…령을 μ‹€ν–‰ν•˜μ—¬ 계츑 CR을 μ„€μΉ˜ν•©λ‹ˆλ‹€.

bash
$
kubectl apply -f ./instrumentation.yaml

μ—¬κΈ°μ—λŠ” μ°Έκ³ ν•  수 μžˆλŠ” μ™„μ „ν•œ μΈ‘μ •, 톡계.yaml이 μžˆμŠ΅λ‹ˆλ‹€.

선택기λ₯Ό μ‚¬μš©ν•˜λŠ” 방법

선택기λ₯Ό μ‚¬μš©ν•˜μ—¬ CR이 APM μ—μ΄μ „νŠΈμ— μ£Όμž…ν•˜λŠ” λ¦¬μ†ŒμŠ€λ₯Ό μ œμ–΄ν•©λ‹ˆλ‹€. μ„Έ κ°€μ§€ 선택기λ₯Ό μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€. κ°œλ³„μ μœΌλ‘œ λ˜λŠ” μ‘°ν•©ν•΄μ„œ μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€. μ„ νƒμžλŠ” 결합될 λ•Œ 논리적 AND(&&) 연산을 μ‚¬μš©ν•˜μ—¬ ν‰κ°€λ©λ‹ˆλ‹€.

MatchLabel 및 MatchExpressions

λͺ¨λ“  μ„ νƒμžλŠ” matchLabel 및 matchExpressions μ§€μ›ν•©λ‹ˆλ‹€.

APM μ—μ΄μ „νŠΈ

계츑 CR λ‚΄μ—μ„œ APM μ—μ΄μ „νŠΈμ™€ ν•΄λ‹Ή 버전을 μ§€μ •ν•΄μ•Ό ν•©λ‹ˆλ‹€. μ‚¬μš© κ°€λŠ₯ν•œ μ΅œμ‹  κΈ°λŠ₯을 μ΅œλŒ€ν•œ ν™œμš©ν•˜λ €λ©΄ μ΅œμ‹  버전을 μ‚¬μš©ν•˜λŠ” 것이 μ’‹μŠ΅λ‹ˆλ‹€.

μ–Έμ–΄

μ˜μƒ

μ‚¬μš© κ°€λŠ₯ν•œ 버전

λ‹·λ„·

newrelic-dotnet-init:latest

.κ·Έλ¬Ό

dotnet-windows2022

newrelic-dotnet-windows2022-init:latest

Windows 2022의 .NET

dotnet-windows2025

newrelic-dotnet-windows2025-init:latest

Windows 2025의 .NET

μžλ°”

newrelic-java-init:latest

μžλ°”

λ…Έλ“œμ œμ΄μ—μŠ€

newrelic-node-init:latest

λ§ˆλ””

파이썬

newrelic-python-init:latest

파이썬

루비

newrelic-ruby-init:latest

루비

νŽ˜ν”„

newrelic-php-init:latest

PHP

이 예λ₯Ό λ³΄μ„Έμš”:

...
spec:
agent:
language: dotnet
image: newrelic/newrelic-dotnet-init:latest
...

APM μ„€μ •

ν™˜κ²½ λ³€μˆ˜ μ‚¬μš©

둜그 CR은 APM μ—μ΄μ „νŠΈμ˜ 섀정을 κ°„μ†Œν™”ν•˜κΈ° μœ„ν•΄ νŒ¨λ“œμ— ν™˜κ²½ λ³€μˆ˜λ₯Ό μ£Όμž…ν•˜λŠ” κΈ°λŠ₯을 μ œκ³΅ν•©λ‹ˆλ‹€. 이 예λ₯Ό λ³΄μ„Έμš”:

...
spec:
agent:
env:
# Example overriding the appName configuration by using a label of the pod
- name: NEW_RELIC_APP_NAME
valueFrom:
fieldRef:
fieldPath: metadata.labels['app.kubernetes.io/name']
...

μœ„μ˜ μ˜ˆμ—μ„œλŠ” ν™˜κ²½ λ³€μˆ˜λ₯Ό μ‚¬μš©ν•˜μ—¬ μ—μ΄μ „νŠΈ 섀정을 μ „μ—­μ μœΌλ‘œ κ΅¬μ„±ν•˜λŠ” 방법을 λ³΄μ—¬λ“œλ¦½λ‹ˆλ‹€. μ‚¬μš© κ°€λŠ₯ν•œ μ„€μ • μ˜΅μ…˜μ€ 각 μ—μ΄μ „νŠΈμ˜ μ„€μ • λ¬Έμ„œλ₯Ό μ°Έμ‘°ν•˜μ„Έμš”.

μ€‘μš”

μ΄λŸ¬ν•œ ν™˜κ²½ λ³€μˆ˜λŠ” μ•± 배포 λ§€λ‹ˆνŽ˜μŠ€νŠΈμ— μ‚½μž…ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

configmap μ‚¬μš©(μžλ°”λ§Œ ν•΄λ‹Ή)

Configmap을 μ‚¬μš©ν•  λ•Œ λ‹€μŒ μš”κ΅¬ 사항을 μ°Έκ³ ν•˜μ„Έμš”.

  • ν‚€λ³΄λ“œ 섀정은 newrelic.yaml μ΄λΌλŠ” 킀에 μ €μž₯λ˜μ–΄μ•Ό ν•©λ‹ˆλ‹€.
  • configmap 에 μ• ν”Œλ¦¬μΌ€μ΄μ…˜ μ΄λ¦„μ΄λ‚˜ λΌμ΄μ„ μŠ€ ν‚€λ₯Ό μ„€μ •ν•˜λŠ” 것은 μ§€μ›λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.
  • μ΄λŸ¬ν•œ 속성을 μ„€μ •ν•˜λ €λ©΄ λŒ€μ‹  ν™˜κ²½ λ³€μˆ˜λ‚˜ μ‚¬μš©μž μ •μ˜ λΉ„λ°€λ²ˆν˜Έλ₯Ό μ‚¬μš©ν•˜μ„Έμš”.
apiVersion: newrelic.com/v1beta2
kind: Instrumentation
metadata:
name: newrelic-instrumentation-java
namespace: newrelic
spec:
agentConfigMap: "my-java-app-config" # This configmap must exist in every namespace that the pod in this `Instrumentation` is targeting
agent: ...

λΌμ΄μ„ μŠ€ ν‚€ (선택 사항)

μ„€μΉ˜ν•˜λ©΄ 이 μƒμ„±λ˜κ³  이것이 κΈ°λ³Έ λΌμ΄μ„ΌμŠ€μž…λ‹ˆλ‹€. APM ν…”λ ˆλ©”νŠΈλ¦¬λ₯Ό λ‹€λ₯Έ κ³„μ •μœΌλ‘œ 보내야 ν•˜λŠ” 경우 λ‹€μŒ 단계λ₯Ό λ”°λ₯΄μ„Έμš”.

  • μƒˆ λΌμ΄μ„ μŠ€ ν‚€κ°€ ν¬ν•¨λœ 비밀을 μƒμ„±ν•˜λ €λ©΄ λ‹€μŒ λͺ…령을 μ‹€ν–‰ν•˜μ„Έμš”.

    bash
    $
    kubectl create secret generic newrelic-key-secret \
    >
    --namespace my-monitored-namespace \
    >
    --from-literal=new_relic_license_key=YOUR_NEW_RELIC_INGEST_LICENSE_KEY
  • 계츑 CRμ—μ„œ 비밀을 μ°Έμ‘°ν•˜λ €λ©΄ λ‹€μŒ λͺ…령을 μ‹€ν–‰ν•˜μ„Έμš”.

    ...
    spec:
    licenseKeySecret: the-name-of-the-custom-secret
    ...

계츑 CR 예제

팁

ν΄λŸ¬μŠ€ν„°μ—μ„œ λͺ…μ‹œμ μΈ λ ˆμ§€μŠ€νŠΈλ¦¬ 접두사(예: CRI-O)κ°€ ν•„μš”ν•œ μ»¨ν…Œμ΄λ„ˆ λŸ°νƒ€μž„μ„ μ‚¬μš©ν•˜λŠ” 경우 이미지 경둜 μ•žμ— docker.io/ μΆ”κ°€ν•˜μ‹­μ‹œμ˜€. 예λ₯Ό λ“€λ©΄: image: docker.io/newrelic/newrelic-java-init:latest.

μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ—μ„œ APM 계츑 μ—…λ°μ΄νŠΈ

기본적으둜 Kubernetes APM μžλ™ 연결은 ν•΄λ‹Ή APM μ—μ΄μ „νŠΈ 의 μ΅œμ‹  μ‚¬μš© κ°€λŠ₯ν•œ 버전을 μžλ™μœΌλ‘œ μ„€μΉ˜ν•©λ‹ˆλ‹€.

μ• ν”Œλ¦¬μΌ€μ΄μ…˜ λͺ¨λ‹ˆν„°λ§μ΄ μ‹œμž‘λ˜λ©΄ μ‚¬μš©μžκ°€ μ—…λ°μ΄νŠΈλ₯Ό μ„ νƒν•˜μ§€ μ•ŠλŠ” ν•œ μžλ™μœΌλ‘œ μƒˆλ‘œμš΄ λ²„μ „μœΌλ‘œ μ—…λ°μ΄νŠΈλ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. νŒŒλ“œλ₯Ό μž¬λ°°ν¬ν•˜κ±°λ‚˜ 배포λ₯Ό λ‹€μ‹œ μ‹œμž‘ν•˜μ—¬ κΈ°λŠ₯을 μ—…λ°μ΄νŠΈν•  수 μžˆμŠ΅λ‹ˆλ‹€.

μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ—μ„œ APM 계츑 제거

μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ—μ„œ APM 계츑을 μ œκ±°ν•˜λ €λ©΄ μ‚¬μš©λœ podLabelSelector λ˜λŠ” namespaceLabelSelector λ‚΄λΆ€μ˜ μΌμΉ˜ν•˜λŠ” λ ˆμ΄λΈ” 선택기λ₯Ό λ³€κ²½ν•˜κ±°λ‚˜ 계츑 CR을 μ‚­μ œν•΄μ•Ό ν•©λ‹ˆλ‹€. 그런 λ‹€μŒ 배포λ₯Ό λ‹€μ‹œ μ‹œμž‘ν•©λ‹ˆλ‹€. 제거 과정은 λͺ‡ 초 밖에 걸리지 μ•ŠμŠ΅λ‹ˆλ‹€.

Kubernetes APM μžλ™ μ—°κ²° μ—…λ°μ΄νŠΈ

λ²ˆλ“€ μ„€μΉ˜

λ‹€μŒ λͺ¨λ²” 사둀λ₯Ό μ‚¬μš©ν•˜μ—¬ nri-bundle 차트 μ—…λ°μ΄νŠΈλ₯Ό μ‹€ν–‰ν•©λ‹ˆλ‹€.

bash
$
k8s-agents-operator.enabled=true

λ…λ¦½ν˜• μ„€μΉ˜

Kubernetes APM μžλ™ μ—°κ²°μ˜ μ΅œμ‹  λ²„μ „μœΌλ‘œ μ—…λ°μ΄νŠΈν•˜λ €λ©΄ helm upgrade λͺ…령을 μ‹€ν–‰ν•˜μ„Έμš”.

bash
$
helm upgrade k8s-agents-operator newrelic/k8s-agents-operator -n newrelic

Kubernetes APM μžλ™ μ—°κ²° 제거

λ²ˆλ“€ μ„€μΉ˜

nri-bundle 차트λ₯Ό μ œκ±°ν•˜κ±°λ‚˜ Kubernetes APM μžλ™ μ—°κ²°λ§Œ μ œκ±°ν•˜λ €λ©΄ λ‹€μŒ λͺ…λ Ήμ–΄λ₯Ό μ‚¬μš©ν•˜μ—¬ helm μ—…κ·Έλ ˆμ΄λ“œλ₯Ό μ‹€ν–‰ν•©λ‹ˆλ‹€.

bash
$
k8s-agents-operator.enabled=false

λ…λ¦½ν˜• μ„€μΉ˜

Kubernetes APM μžλ™ 연결을 μ œκ±°ν•˜κ³  μ‚­μ œν•˜λ €λ©΄ λ‹€μŒ λͺ…령을 μ‹€ν–‰ν•˜μ„Έμš”.

bash
$
helm uninstall k8s-agents-operator -n newrelic

데이터 μ°ΎκΈ° 및 μ‚¬μš©

  • APM μš”μ•½ νŽ˜μ΄μ§€λ₯Ό μ΄μš©ν•˜μ—¬ μΈμ‚¬μ΄νŠΈλ₯Ό ν™•μΈν•˜κ³  곡지사항을 ν•΄κ²°ν•˜μ„Έμš”.

  • Kubernetes μš”μ•½ νŽ˜μ΄μ§€λ₯Ό ν™•μΈν•˜μ„Έμš”. μ΄λŠ” λͺ¨λ‹ˆν„°μ˜ λ§₯λ½μ—μ„œ Kubernetes μΈμ‚¬μ΄νŠΈλ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€.

μΈμ¦μ„œ

Kubernetes APM μžλ™ 연결은 μ›ν•˜λŠ” 경우 cert-manager 지원할 수 μžˆμŠ΅λ‹ˆλ‹€.

  • cert-manager Helm 차트λ₯Ό μ„€μΉ˜ν•˜λ €λ©΄ λ‹€μŒ λͺ…령을 μ‹€ν–‰ν•˜μ„Έμš”.

    bash
    $
    helm install cert-manager jetstack/cert-manager \
    >
    --namespace cert-manager \
    >
    --create-namespace \
    >
    --set crds.enabled=true
  • values.yaml νŒŒμΌμ—μ„œ admissionWebhooks.autoGenerateCert.enabled: false 및 admissionWebhooks.certManager.enabled: true μ„€μ •ν•©λ‹ˆλ‹€. 그런 λ‹€μŒ ν‰μ†Œμ²˜λŸΌ 차트λ₯Ό μ„€μΉ˜ν•©λ‹ˆλ‹€.

μ‚¬μš© κ°€λŠ₯ν•œ 차트 릴리슀

μ‚¬μš© κ°€λŠ₯ν•œ 차트λ₯Ό 보렀면 λ‹€μŒ λͺ…령을 μ‹€ν–‰ν•˜μ„Έμš”.

bash
$
helm search repo k8s-agents-operator

자주 λ¬»λŠ” 질문

문제점 ν•΄κ²°

λ‘œκ·Έκ°€ ν¬ν•¨λ˜μ§€ μ•Šμ€ 경우 λ‹€μŒμ„ 확인해야 ν•©λ‹ˆλ‹€.

  • Kubernetes APM μžλ™ 연결을 μ„€μΉ˜ν•œ ν›„μ—λŠ” λ°˜λ“œμ‹œ μž¬λ°°ν¬ν•˜κ±°λ‚˜ κ΅¬ν˜„ν•˜κ³ , μƒˆλ‘œμš΄ κΈ°λŠ₯을 κ΅¬ν˜„ν•˜μ„Έμš”. ν΄λŸ¬μŠ€ν„°μ—μ„œλŠ” μžλ™ κ³„μΈ‘λœ μƒˆλ‘œμš΄ κΈ°λŠ₯만 κ΅¬ν˜„ν•˜λ‹€, λ°°ν¬ν•˜λ‹€λΌλŠ” 점에 μœ μ˜ν•˜μ„Έμš”.

  • μ•±μ˜ λ„€μž„μŠ€νŽ˜μ΄μŠ€μ— 비밀이 μ„€μΉ˜λ˜μ—ˆλŠ”μ§€ ν™•μΈν•˜λ €λ©΄ λ‹€μŒ λͺ…령을 μ‹€ν–‰ν•˜μ„Έμš”.

    bash
    $
    kubectl get secrets -n NAMESPACE
  • podLabelSelector μ‚¬μš©ν•  λ•Œ CR을 ν†΅ν•œ μžλ™ μ‹œμŠ€ν…œμ„ ν™œμ„±ν™”ν•˜λŠ” 데 ν•„μš”ν•œ λ ˆμ΄λΈ”μ΄ νŒŒλ“œμ— μžˆλŠ”μ§€ ν™•μΈν•˜μ„Έμš”. λ§ˆμ°¬κ°€μ§€λ‘œ CR λ‚΄λΆ€μ—μ„œ namespaceLabelSelector μ‚¬μš©ν•  λ•Œ λ„€μž„μŠ€νŽ˜μ΄μŠ€μ— ν•„μš”ν•œ λ ˆμ΄λΈ”μ΄ μžˆλŠ”μ§€ ν™•μΈν•˜μ„Έμš”.

    bash
    $
    kubectl get pod POD_NAME -n NAMESPACE -o jsonpath='{.metadata.annotations}'
  • APM μžλ™ μ—°κ²° νŒ¨λ“œμ—μ„œ 둜그λ₯Ό κ°€μ Έμ˜€λ €λ©΄ λ‹€μŒ λͺ…령을 μ‹€ν–‰ν•˜μ„Έμš”.

    bash
    $
    kubectl logs AGENT_OPERATOR_POD -n newrelic
  • 이 λͺ…령을 μ‹€ν–‰ν•˜μ—¬ init μ»¨ν…Œμ΄λ„ˆκ°€ μ‚½μž…λ˜κ³  특수 νŒŒλ“œ λ‚΄λΆ€μ—μ„œ μ„±κ³΅μ μœΌλ‘œ μ‹€ν–‰λ˜μ—ˆλŠ”μ§€ ν™•μΈν•˜μ„Έμš”.

    bash
    $
    kubectl describe pod POD_NAME -n NAMESPACE

주석이 ν•„μš”ν•œ 이전 λ²„μ „μ—μ„œ λ§ˆμ΄κ·Έλ ˆμ΄μ…˜ν•˜λŠ” 방법

버전 0.14λΆ€ν„°, μž‘κ³‘μ„ μžλ™ κ³„μΈ‘ν•˜κΈ° μœ„ν•΄ 더 이상 μž‘κ³‘ 배포 λ§€λ‹ˆνŽ˜μŠ€νŠΈ λ‚΄μ˜ 주석이 ν•„μš”ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

0.14 이전 버전을 λͺ¨λ‘ μ œκ±°ν•˜κ³  μ΅œμ‹  릴리슀 버전을 μ„€μΉ˜ν•˜λŠ” 것이 μ’‹μŠ΅λ‹ˆλ‹€. 계츑 CR λ‚΄μ˜ λ ˆμ΄λΈ” 선택기λ₯Ό ν™œμš©ν•˜λ©΄ APM μ—μ΄μ „νŠΈλ₯Ό μ •ν™•ν•˜κ²Œ 배포할 수 μžˆμœΌλ―€λ‘œ 주석이 ν•„μš”ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

μ§€μ›ν•˜λ‹€

Kubernetes APM μžλ™ 연결은 ν‘œμ€€ APM μ—μ΄μ „νŠΈ 지원 정책에 따라 λ‹€μŒ 언어와 ν•΄λ‹Ή μ–Έμ–΄μ˜ μ΅œμ†Œ 지원 버전을 μ§€μ›ν•©λ‹ˆλ‹€.

  • μžλ°” μ—μ΄μ „νŠΈ: 8.12
  • .NET μ—μ΄μ „νŠΈ: 10.25
  • 루비 μ—μ΄μ „νŠΈ: 9.10
  • Node.js μ—μ΄μ „νŠΈ: 11.9
  • 파이썬: 9.10
  • PHP: 11.12

λ¬Έμ œκ°€ μžˆλŠ” 경우:

Copyright Β© 2026 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.