Kubernetes 에 에이전트 설치
Kubernetes 클러스터의 온라인 또는 오프라인(에어갭) 환경에 Instana 에이전트를 설치할 수 있습니다. 다음 목록을 참조하여 필수 조건을 확인하고, 사용 가능한 모든 설치 방법을 알아보며, Kubernetes 에 에이전트를 설치하십시오.
전제조건
호스트 에이전트를 설치하기 전에 필수 조건이 충족되었는지 확인하십시오.
에이전트 설치 방법 선택
호스트 에이전트는 패키지 관리자인 Kubernetes ( Helm )을 사용하거나 오퍼레이터를 통해 설치할 수 있습니다. 두 설치 옵션 모두 오프라인(에어갭) 및 온라인 환경에서 사용할 수 있습니다:
Helm 차트의 모든 사용 가능한 구성 옵션에 대해서는 ‘구성 참조’를 참조하십시오. 이러한 구성 옵션은 운영자 CRD에도 동일한 방식으로 적용됩니다.
에어갭 환경에 에이전트 설치
두 가지 방법을 사용하여 에어 갭이 있는 환경에 에이전트를 설치할 수 있습니다:
에어갭 환경에서 Helm 차트를 사용하여 설치하기
에어 갭이 있는 환경에 에이전트를 설치하려면 다음 단계를 완료하세요:
다음 명령을 실행하여 Docker 설치합니다:
sudo yum install -y yum-utilssudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.reposudo yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-pluginsudo systemctl start docker다음 명령을 실행하여 Helm 설치합니다:
sudo suyum install -y epel-releaseyum install -y snapdsystemctl enable --now snapd.socketln -s /var/lib/snapd/snap /snapsnap install helm --classic PATH="$PATH:/snap/bin/"helm version다음 단계를 완료하여 미니큐브를 설치합니다:
참고: 이 단계들은 대상 환경을 보여주기 위한 예시입니다.Kubernetes 리포지토리를 추가합니다:
cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo [kubernetes] name=Kubernetes baseurl=https://pkgs.k8s.io/core:/stable:/v1.28/rpm/ enabled=1 gpgcheck=1 gpgkey=https://pkgs.k8s.io/core:/stable:/v1.28/rpm/repodata/repomd.xml.key exclude=kubelet kubeadm kubectl cri-tools kubernetes-cni EOFkubectl 명령줄 도구를 설치합니다:
sudo yum install -y kubectl미니큐브 RPM 패키지를 다운로드하세요:
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-latest.x86_64.rpm미니큐브 RPM 패키지를 설치합니다:
sudo rpm -Uvh minikube-latest.x86_64.rpmDocker 사용하여 Kubernetes 클러스터를 시작합니다:
minikube start --force --driver=docker미니큐브와 함께 사용할 수 있도록 Docker 환경을 설정합니다:
eval $(minikube docker-env)Kubernetes 클러스터를 확인합니다:
kubectl cluster-info
에어 갭 환경으로 전송하기 위해 필요한 Docker 이미지를 가져옵니다:
에이전트 키를 사용하여 Instana Container Registry 에 로그인하세요:
docker login https://containers.instana.io/v2 -u _ -p <agentKey>Instana ( Container Registry )에서 에이전트의 최신 버전을 다운로드하세요:
docker pull containers.instana.io/instana/release/agent/static:latest최신 Instana 에이전트 운영자 이미지를 가져옵니다:
docker pull icr.io/instana/instana-agent-operator:latestInstana ( Kubernetes ) 센서의 최신 버전을 가져옵니다:
docker pull icr.io/instana/k8sensor:latestDocker 레지스트리에서 로그아웃합니다:
docker logoutDocker 이미지를 '
.tar' 파일로 변환합니다:docker imagesdocker tag <instanaAgentImageID> instana/agentdocker save instana/agent > instana-agent.tardocker tag <operatorImagerId> instana/instana-agent-operatordocker save instana/instana-agent-operator > instana-agent-operator.tardocker tag <k8SensorID> instana/k8sensordocker save instana/k8sensor > instana-k8sensor.tar에이전트를 설치하려는 에어갭 호스트에 (
instana-agent.tar,instana-agent-operator.tar, 및instana-k8sensor.tar) 파일을 복사하십시오.에어 갭 호스트에서 현재 이미지를 삭제합니다:
docker rmi -f <instanaAgentImageID> <operatorImagerId> <k8SensorID>파일(
instana-agent.tar,instana-agent-operator.tar,.tar및instana-k8sensor.tar)에서 이미지를 불러오기:
docker load --input instana-agent.tardocker load --input instana-agent-operator.tardocker load --input instana-k8sensor.tarDocker 레지스트리 서버를 실행하고 이미지를 푸시합니다:
docker run -d -p 5000:5000 --restart=always --name registry registry:2docker tag instana/agent:latest localhost:5000/instana-agentdocker push localhost:5000/instana-agentdocker tag instana/instana-agent-operator:latest localhost:5000/instana-agent-operatordocker push localhost:5000/instana-agent-operatordocker tag instana/k8sensor:latest localhost:5000/instana-k8sensordocker push localhost:5000/instana-k8sensor#Delete all images related to the agent: docker rmi -f <instanaAgentImageID> <k8SensorID> <operatorImagerId>다음 저장소에서 Instana Helm 차트를 가져옵니다:
helm pull instana-agent --repo https://agents.instana.io/helm --untar instana-agent참고: 현재 디렉터리에서 최신 Instana 에이전트 Helm 차트 파일을 확인하십시오.Kubernetes 클러스터에 Instana 에이전트를 배포합니다.
참고: Instana 에이전트 Helm 차트 버전 2.0.0 및 그 이전 버전에는 해당instana-agent/crds폴더가 없습니다. 따라서 해당kubectl apply -f instana-agent/crds단계는 필요하지 않습니다.kubectl apply -f instana-agent/crds && helm upgrade --install --create-namespace \ --namespace instana-agent \ --set agent.key=<agentKey> \ --set agent.endpointHost=ingress-red-saas.instana.io \ --set agent.endpointPort=443 \ --set cluster.name='mip-back-test' \ --set zone.name='mip-gke-zone' \ --set k8s_sensor.deployment.enabled=true \ --set k8s_sensor.image.name=localhost:5000/instana-k8sensor \ --set k8s_sensor.image.tag=latest \ --set k8s_sensor.image.pullPolicy=IfNotPresent \ --set agent.image.name=localhost:5000/instana-agent \ --set agent.image.tag=latest \ --set agent.image.pullPolicy=IfNotPresent \ --set controllerManager.image.name=localhost:5000/instana-agent-operator \ --set controllerManager.image.tag=latest \ instana-agent instana-agent/<agentKey> 를 입력하고, <agent.endpointHost>, <agent.endpointPort>, <k8_senosr.image.name>, < agent.image.name > 를 수정하십시오. 또한, 디렉토리에 있는 최신 Instana 에이전트 Helm 차트 파일로 를
instana-agent-1.2.61.tgz대체하십시오.다음 명령어로 파드를 확인합니다:
kubectl get all -n instana-agent
에이전트가 설치되었습니다. 다음 단계에 대한 자세한 내용은 ‘다음 단계’ 섹션을 참조하십시오.
에어갭 환경에서 운영자가 직접 설치하십시오
containers.instana.io완전한 에어갭 환경에서는 클러스터 노드가 또는 에서 icr.io 이미지를 직접 가져올 수 없습니다. 인터넷에 접속할 수 있는 점프 호스트(바스티온)를 사용하여 필요한 모든 이미지를 클러스터에서 액세스할 수 있는 사설 레지스트리로 복사하십시오. 그런 다음, 미러링된 이미지에서 오퍼레이터를 배포합니다.
이 섹션의 단계에서는 IBM Cloud Container Registry (ICR) 의 비공개 네임스페이스를 대상 레지스트리로 사용합니다. 점프 호스트와 대상 클러스터에서 접근 가능한 OCI 호환 레지스트리라면 어떤 것이든 동일하게 잘 작동합니다. 예를 들면 JFrog Artifactory, Red Hat Quay, Harbor 또는 자체 호스팅 배포 레지스트리 등이 있습니다. ICR 이외의 레지스트리를 사용하는 경우, ICR 관련 단계는 건너뛰고, 문서에 icr.io 나타나는 모든 ‘ URL ’ 및 인증 자격 증명 부분을 해당 레지스트리의 정보로 대체하십시오.
[internet] ──pull──▶ jump host ──push──▶ <private-registry>/instana-airgap-mirror ◀──pull── K8s cluster
(skopeo)
이 scripts/mirror-instana-images.sh 스크립트는 한 번의 호출로 세 구성 요소 모두를 미러링합니다:
| 컴포넌트 | 소스 이미지 |
|---|---|
| 연산자 | icr.io/instana/instana-agent-operator:latest |
| 에이전트 (정적) | containers.instana.io/instana/release/agent/static:latest |
| Kubernetes 센서 | icr.io/instana/k8sensor:latest |
oc secrets link . kubectl patch.을 사용하여 관련 서비스 계정에 직접 패치함으로써 imagePullSecrets 비밀 정보를 연결합니다.에어 갭 방식 운영자 설치의 전제 조건
계속 진행하기 전에 점프 호스트 에 다음 도구를 설치하십시오:
| 도구 | 용도 | 설치 안내서 |
|---|---|---|
skopeo |
Docker 데몬 없이 레지스트리 간에 컨테이너 이미지 복사하기 | dnf install skopeo 및 brew install skopeo |
jq |
다음에서 반환된 이미지 메타데이터 JSON 를 분석합니다. skopeo inspect |
dnf install jq 및 brew install jq |
kubectl |
Kubernetes CLI | Kubernetes 문서를 참조하세요 |
ibmcloud CLI + Container Registry 플러그인 |
ICR 네임스페이스 생성 및 인증 | ibmcloud plugin install container-registry |
ibmcloud 필요합니다. Artifactory, Quay, Harbor 등 다른 레지스트리를 사용하고 있다면 이 단계를 건너뛰세요.skopeo --version
jq --version
kubectl version --client
설치
에어갭 환경에서 오퍼레이터를 사용하여 에이전트를 설치하려면 다음 단계를 수행하십시오:
- 개인 레지스트리를 준비하고, skopeo를 해당 레지스트리에 인증하십시오.참고: ICR을 사용하는 경우, 다음 단계를 수행하십시오. 다른 레지스트리( Artifactory, Quay, Harbor 또는 Distribution)를 사용하는 경우, 이에 상응하는 대상 저장소를 생성하고, 해당 레지스트리의 인증 정보를 사용하여 skopeo에 인증한 다음, 2단계로 진행하십시오.
- IBM Cloud 에 로그인하여 미러링된 이미지를 위한 전용 네임스페이스를 생성합니다:
ibmcloud login --sso ibmcloud cr region-set global ibmcloud cr namespace-add instana-airgap-mirror - 비상호작용형 레지스트리 액세스를 위해 전용 IAM API 키를 생성합니다:
ibmcloud iam api-key-create instana-mirror-key -d "skopeo mirror key" - 터미널에 키를 출력하지 않고 내보낸 다음, 로그인이 정상적으로 작동하는지 확인합니다:
read -rs ICR_API_KEY skopeo login --username iamapikey --password "$ICR_API_KEY" icr.ioskopeo login참고: 이전에ibmcloud cr login다른 프로그램이 skopeo가 덮어쓸 수 없는 필드에~/.docker/config.json값을identitytoken기록한 경우, 해당 파일을 열어 해당icr.io항목을 삭제한 후 저장하고 다시 시도하십시오.
- IBM Cloud 에 로그인하여 미러링된 이미지를 위한 전용 네임스페이스를 생성합니다:
Instana 에이전트 다운로드 키를 받으세요.
containers.instana.io정적 에이전트 이미지는 계속 유지되며, 이를 사용하려면 에이전트 다운로드 키가 필요합니다. Instana UI의 [설정 ] → [에이전트] → [에이전트 설치]에서 다운로드하거나, Instana 계정 담당팀에 문의하십시오. 출력하지 않고 저장하려면:read -rs INSTANA_AGENT_DOWNLOAD_KEY- 점프 호스트에서 미러 스크립트를 실행하여 이미지를 사설 레지스트리에 미러링하십시오. 이 스크립트는 각 이미지의 현재
:latest버전을 확인하고, 기존:latest태그와 버전 지정된 태그를 모두 대상 위치로 복사한 다음, 확인된 모든 좌표가 포함된 속성 파일을 작성합니다../scripts/mirror-instana-images.sh \ --registry icr.io \ --namespace instana-airgap-mirror \ --dest-creds "iamapikey:$ICR_API_KEY" \ --dest-tls-verify true \ --agent-download-key "$INSTANA_AGENT_DOWNLOAD_KEY"이 스크립트는 미러링 과정에서 파악된 정확한 이미지 좌표가 포함된 파일을
mirror-instana-images.properties생성합니다. 예를 들어,operator_version=2.2.14 operator_destination=icr.io/instana-airgap-mirror/instana-agent-operator agent_version=1.320.3 agent_destination=icr.io/instana-airgap-mirror/agent k8sensor_version=1.4.16 k8sensor_destination=icr.io/instana-airgap-mirror/k8sensor참고: 이 파일을 배포 매니페스트 파일과 함께 저장하십시오. 나중에 이 이미지에 포함된 좌표 정보를 사용하여 사용자 정의 리소스를InstanaAgent구성하게 됩니다. - 세 개의 리포지토리 모두 레지스트리에 존재하며, 예상된 태그가 지정되어 있는지 확인하십시오. ICR의 경우 다음 명령을 실행하십시오:
ibmcloud cr images --restrict instana-airgap-mirror - 대상 네임스페이스와 풀 시크릿을 생성합니다:
kubectl create namespace instana-agent kubectl create secret docker-registry icr-pull-secret \ --docker-server=icr.io \ --docker-username=iamapikey \ --docker-password="$ICR_API_KEY" \ -n instana-agent - 최신 릴리스 매니페스트를 다운로드하고, 업스트림 오퍼레이터 이미지 참조를 미러링된 이미지로 대체하십시오:
curl -fsSL \ https://github.com/instana/instana-agent-operator/releases/latest/download/instana-agent-operator.yaml \ -o instana-agent-operator.yaml sed 's|image: icr.io/instana/instana-agent-operator:|image: icr.io/instana-airgap-mirror/instana-agent-operator:|g' \ instana-agent-operator.yaml > instana-agent-operator-mirrored.yaml참고: 이 단계에서는 연산자 이미지 줄만 교체합니다. 후속 단계에서 에이전트 및 k8sensor 이미지를 참조하는 사용자 정의 리소스를InstanaAgent별도로 구성하게 됩니다. - 수정된 매니페스트를 적용하고 배포가 완료될 때까지 기다리십시오:
kubectl apply -f instana-agent-operator-mirrored.yaml kubectl rollout status deployment/instana-agent-controller-manager \ -n instana-agent --timeout=120s - 풀 시크릿을 오퍼레이터 서비스 계정에 적용하십시오. 일반 Kubernetes 에서는 이에 상응하는 기능이 없으므로
oc secrets link, 서비스 계정에 직접 패치를imagePullSecrets적용해야 합니다. 패치가 적용되기 전에 포드가 특정 상태로 전환되는ErrImagePull것을 방지하려면 매니페스트를 적용한 직후에 이 단계를 완료하십시오.kubectl patch serviceaccount instana-agent-operator -n instana-agent \ -p '{"imagePullSecrets": [{"name": "icr-pull-secret"}]}'ErrImagePull오퍼레이터 포드가 이미 실행 중이라면, 서비스 계정을 수정한 다음 오류가 발생한 포드를 삭제하여 다시 스케줄링되도록 하십시오:kubectl delete pod -n instana-agent -l app.kubernetes.io/name=instana-agent-operator - 에이전트 서비스 계정을 미리 생성하고, 각 계정에 풀 시크릿을 적용하십시오. 사용자가 사용자 정의 리소스를
InstanaAgent처음 적용하면 운영자가 와instana-agent-k8sensor를 생성합니다instana-agent. 사용자 정의 리소스를 적용하기 전에 이를 미리 생성하고 시크릿을 업데이트해 두면, 첫 번째 파드 스케줄링 시 발생하는ErrImagePull오류를 방지할 수 있습니다.kubectl create serviceaccount instana-agent -n instana-agent kubectl create serviceaccount instana-agent-k8sensor -n instana-agent kubectl patch serviceaccount instana-agent -n instana-agent \ -p '{"imagePullSecrets": [{"name": "icr-pull-secret"}]}' kubectl patch serviceaccount instana-agent-k8sensor -n instana-agent \ -p '{"imagePullSecrets": [{"name": "icr-pull-secret"}]}'ErrImagePull참고: 이미 사용자 정의 리소스를 적용했고 포드가 실행 중인 경우, 앞서 언급한 두kubectl patch serviceaccount가지 명령어를 실행한 다음 오류가 발생한 포드를 삭제하여 재스케줄링되도록 하십시오. - 사용자 정의 리소스 매니페스트를
InstanaAgent생성합니다. 자리 표시자 값을 실제 구성 값으로 대체하십시오:- 바꾸다
<INSTANA_AGENT_KEY>그리고<INSTANA_AGENT_DOWNLOAD_KEY>Instana UI 에이전트 및 컬렉터 → 에이전트 설치 → Kubernetes Operator 에서 키를 가져옵니다. mirror-instana-images.properties이미지 태그를 에서 제공하는 버전으로 대체하십시오.- 사용 중인 환경에 맞게 프록시 필드를 업데이트하십시오.
- 클러스터가 Instana 백엔드와 직접 연결되어 있는 경우 해당
proxy*필드를 생략하십시오. - 프록시 인증이 필요하지 않은 경우 와
proxyPassword를 빈 문자열로 설정하십시오proxyUser.
apiVersion: instana.io/v1 kind: InstanaAgent metadata: name: instana-agent namespace: instana-agent spec: zone: name: <your_zone_name> cluster: name: <your_cluster_name> agent: key: <INSTANA_AGENT_KEY> downloadKey: <INSTANA_AGENT_DOWNLOAD_KEY> endpointHost: <your-ingress-endpoint> endpointPort: "443" proxyHost: <proxy-host> proxyPort: "3128" proxyProtocol: http proxyUser: "" proxyPassword: "" image: name: icr.io/instana-airgap-mirror/agent tag: "<agent_version>" # value of agent_version in mirror-instana-images.properties env: {} configuration_yaml: | # You can leave this empty, or use this to configure your Instana agent. # See https://docs.instana.io/setup_and_manage/host_agent/on/kubernetes/ k8s_sensor: image: name: icr.io/instana-airgap-mirror/k8sensor tag: "<k8sensor_version>" # value of k8sensor_version in mirror-instana-images.properties참고: 이전 단계에서 서비스 계정에 패치를icr-pull-secret적용하여 이미지 가져오기 자격 증명을 제공했기 때문에, 사용자 정의 리소스에는 필수 필드가 없습니다pullSecrets. - 바꾸다
- 사용자 정의 리소스를 적용합니다:
kubectl apply -f instana-agent-cr.yaml - 해당
instana-agent네임스페이스의 파드를 나열하여 배포 상태를 확인하십시오:kubectl get pods -n instana-agent배포가 완료되면, 노드당 1개의
instana-agent-controller-managerinstana-agentDaemonSet 포드가 있고, 총 3개의instana-agent-k8sensor포드가 모두 상태에Running있는 것을 확인할 수 있습니다. 에이전트가 구성된 프록시를 통해 백엔드 연결을 설정하면, 클러스터가 Instana UI의 구성된 영역 및 클러스터 이름 아래에 표시됩니다.
에이전트가 설치되었습니다. 다음 단계에 대한 자세한 내용은 ‘다음 단계’ 섹션을 참조하십시오.
온라인 환경에 에이전트 설치
Kubernetes 클러스터에 Instana 에이전트를 설치하려면 다음 방법을 사용하는 것이 좋습니다:
에이전트를 다시 설치하는 경우에는 에이전트의 모든 클러스터 수준 개체를 삭제하는 등 에이전트가 깨끗하게 제거되었는지 확인하세요. 자세한 내용은 Kubernetes 에서 Instana 에이전트 제거를 참조하세요.
Operator 및 Helm 차트의 새 버전이 꽤 자주 출시됩니다. 수정 사항, 개선 사항 및 새로운 기능에 대한 최신 업데이트를 확인하려면 Operator 또는 Helm 차트의 최신 버전을 실행 중인지 확인하십시오.
Operator 또는 Helm 차트의 최신 버전을 확인하려면 다음 항목을 참조하십시오:
운영자를 사용하여 설치하십시오
Instana 에서 제공하는 ` Kubernetes ` 연산자를 사용하여 에이전트를 설치할 수 있습니다. 다음 단계를 따르십시오.
Instana UI의 홈 페이지에서 ‘에이전트 및 수집기’를 클릭합니다. ‘ Instana ’의 ‘에이전트’ 탭에서 ‘에이전트 설치’를 선택합니다.
에이전트 배포 카탈로그 페이지에서 Kubernetes - 운영자 타일을 클릭합니다.
다음과 같이 오퍼레이터를 배포하십시오. 이 명령은 최신 오퍼레이터를 설치합니다.
kubectl apply -f https://github.com/instana/instana-agent-operator/releases/latest/download/instana-agent-operator.yaml이 명령을 실행하면 운영자가 네임스페이스에서 정상적으로
instana-agent작동하며, 사용자 정의instana-agent리소스가 생성되기를 대기합니다.DockerHub 및 Red Hat 레지스트리에 있는 Instana 에이전트 Operator 이미지의 태그는
latest지원되지 않습니다.Instana Agent Operator의 새 버전을 사용하려면, 앞서 언급한 대로 Operator의 GitHub 릴리스 페이지에서 최신 Operator( YAML )로 업데이트하십시오.
클러스터 이름과 클러스터에 포함할 상담원 영역(선택 사항)을 입력합니다.
클러스터 이름(
<your_cluster_name>)은 이 데몬 세트에서 모니터링하는 클러스터의 사용자 지정 이름입니다.에이전트 영역(
<your_zone_name>)은 인프라 지도에 표시되는 영역 그룹을 사용자 정의하는 데 사용됩니다.Instana UI에 제공된 YAML 템플릿을 복사하여 사용자 지정 리소스 YAML 파일을 생성합니다.
YAML 템플릿에는 에이전트 키, 호스트 에이전트 엔드포인트, 클러스터 이름 및 에이전트 영역이 미리 입력되어 있습니다.
YAML 사용자 정의 리소스 파일을 편집합니다:
Instana 에이전트 사용자 정의 리소스는 Instana Helm 차트와 완전히 동일한 구성을 지원합니다. 모든 구성 매개변수의 상세 목록과 예제는 Instana 의 ‘ Helm ’ 차트를 참조하십시오.
다음 항목도 참조하십시오:
자체 호스팅 환경에 에이전트를 설치하려는 경우, 에이전트 키에 Instana 공개 아티팩터리에서 파일을 다운로드할 권한이 없다면 다운로드 키를 다음과 같이
downloadKey: <your_download_key>추가하십시오. 다음 예를 참조하십시오.agent: key: wPYpH7EGK0ucLaO0Nu7BYw downloadKey: m007YDoWNload6kE42yukg endpointHost: ...에이전트 엔드포인트에 TLS 암호화를 적용하려면 기존 시크릿을 사용하거나 인증서와 개인 키를 사용하십시오:
기존 비밀 사용
TLS 암호화를 위해
kubernetes.io/tls해당 유형의 기존 시크릿을 사용할 수 있습니다. 하지만 사용자 정의 리소스인 ` YAML ` 파일에 반드시 다음agent.tls.secretName내용을 포함해야 합니다.인증서 및 개인 키 사용
인증서와 개인 키는 base64-encoded 합니다. 이 변형을 사용하려면 사용자 정의 리소스 YAML 파일에 다음 매개변수를 추가하십시오:
agent.tls.certificateagent.tls.key
참고: 가 설정된agent.tls.secretName경우, 와agent.tls.key는agent.tls.certificate무시됩니다.
정적 호스트 에이전트를 배포하려면, 사용자 정의 리소스 파일( YAML )을 정적 에이전트 이미지로 구성하십시오. 정적 호스트 에이전트 이미지를 나열하려면 '
agent.image.name'을 'containers.instana.io/instana/release/agent/static'로 설정합니다. 다음 예를 참조하십시오.spec: agent: image: name: containers.instana.io/instana/release/agent/static선택 사항: 다음 값을 대체할 수 있습니다:
agent.env: 상담원의 프록시 구성 등 상담원의 환경 변수를 지정하려면 이 필드를 사용합니다. 가능한 더 많은 환경 값은 상담원 구성을 참조하세요. 다음 예를 참조하십시오.spec: agent: env: INSTANA_AGENT_TAGS: stagingagent.configuration_yaml: 이 필드를 사용하여 상담원 구성 파일을 지정합니다 'configuration.yaml. 다음 예를 참조하십시오.spec: agent: configuration_yaml: | # Example of configuration yaml template # Host com.instana.plugin.host: tags: - 'dev' - 'app1'자세한 내용은 “에이전트 구성 파일을 사용하여 호스트 에이전트 구성”을 참조하십시오.
- 선택 사항: 파일을
instana-agent.customresource.yaml수동으로 편집하여 컨트롤러 매니저 포드에 허용 오차를 추가할 수 있습니다. 사용 가능한 구성 옵션에 대한 자세한 내용은 Canonical 구성 파일을 참조하십시오. - 선택 사항: 에이전트가 프로세스별 또는 네임스페이스별로 애플리케이션을 탐지하고 모니터링하는 방식을 사용자 지정하려면 ‘선택적 모니터링’을 참조하십시오.
YAML 사용자 정의 리소스 파일을 적용합니다:
kubectl apply -f instana-agent.customresource.yaml여기에는 사용자 정의 리소스 YAML
instana-agent.customresource.yaml파일의 이름이 들어갑니다.운영자는 사용자 정의 리소스인 ` YAML ` 파일에서 구성을 가져와 ` Instana ` 에이전트를 배포합니다.
에이전트가 설치되었습니다. 다음 단계에 대한 자세한 내용은 ‘다음 단계’ 섹션을 참조하십시오.
상담원을 업데이트하려면 상담원 설치 업데이트하기를 참조하세요.
Helm 차트를 사용하여 설치하십시오
Helm 차트를 사용하여 에이전트를 설치할 수 있습니다. ‘ Helm ’ 차트는 DaemonSet 를 사용하여 클러스터 내 워크로드를 스케줄링하는 데 활용될 수 있는 모든 워커 노드에 ‘ Instana ’ 에이전트를 추가합니다.
Helm 차트를 사용하여 Instana 에이전트를 설치하려면, 먼저 로컬 helm CLI를 버전 3으로 설치하거나 업그레이드해야 합니다.
Instana 에이전트의 Helm 차트는 Red Hat OpenShift 4.x 을 지원합니다.
Helm 차트를 사용하여 에이전트를 설치하려면 다음 단계를 완료하세요:
Instana UI의 홈 페이지에서 ‘에이전트 및 수집기’를 클릭합니다. ‘ Instana ’의 ‘에이전트’ 탭에서 ‘에이전트 설치’를 선택합니다.
에이전트 배포 카탈로그 페이지에서 Kubernetes - Helm 차트 타일을 클릭합니다.
클러스터 이름과 (선택 사항으로) 클러스터에 포함할 상담원 영역을 입력합니다.
클러스터 이름(
<your_cluster_name>)은 이 데몬 세트에서 모니터링하는 클러스터의 사용자 지정 이름입니다.에이전트 영역(
<your_zone_name>)은 인프라 지도에 표시되는 영역 그룹을 사용자 정의하는 데 사용됩니다.에이전트 배포 코드는 사용자가 제공한 값으로 업데이트됩니다. 다른 모든 필수 매개 변수는 다음 예제와 같이 에이전트 배포 코드에 미리 입력되어 있습니다:
helm install instana-agent --repo https://agents.instana.io/helm \ --namespace instana-agent \ --create-namespace \ --set agent.key='<your_agent_key>' \ --set agent.endpointHost='<your_host_agent_endpoint>' \ --set agent.endpointPort=443 \ --set cluster.name='<your_cluster_name>' \ --set zone.name='<your_zone_name>' \ instana-agent또는 values.yaml 파일을 로컬에 저장한 다음, 필수 입력란을 직접 입력해 주세요. 그런 후 다음 명령을 실행하십시오.
helm install instana-agent --repo https://agents.instana.io/helm \ --namespace instana-agent \ --create-namespace \ -f values.yaml instana-agent상담원 배포 코드를 편집합니다:
설정을 구성하려면
--set플래그를 사용하여 명령줄에서 값을 지정하거나,-f플래그를 사용하여 값이 포함된 YAML 파일을 제공할 수 있습니다. 모든 구성 매개변수의 상세 목록과 예제는 Instana 의 ‘ Helm ’ 차트를 참조하십시오. 또한 다음 항목도 참조하십시오:정적 호스트 에이전트를 배포하려면 플래그 '
--set agent.image.name=containers.instana.io/instana/release/agent/static'을 설정합니다.에이전트 엔드포인트에 대한 TLS 암호화를 설정하려면 기존 시크릿을 사용하거나 인증서와 개인 키를 사용하십시오:
'
kubernetes.io/tls' 유형의 기존 비밀번호 사용TLS 암호화를 위해
kubernetes.io/tls해당 유형의 기존 시크릿을 사용할 수 있습니다. 하지만 설치 시 'secretName'을 '--set 'agent.tls.secretName=<YOUR_SECRET_NAME>''로 지정해야 합니다. 그러면 제공된 시크릿의 파일이 에이전트에 포함됩니다.인증서 및 개인 키 사용
인증서와 개인 키는 base64-encoded 합니다. 이 변형을 사용하려면 다음 추가 매개변수와 함께 '
helm install'을 실행하세요:--set 'agent.tls.certificate=<YOUR_CERTIFICATE_BASE64_ENCODED>' --set 'agent.tls.key=<YOUR_PRIVATE_KEY_BASE64_ENCODED>'참고: 가 설정된agent.tls.secretName경우, 와agent.tls.key는agent.tls.certificate무시됩니다.
Kubernetes 환경에서 Helm 저장소에 액세스할 때와 Instana 백엔드에 연결할 때 서로 다른 프록시가 필요한 경우, 설치 과정에서 별도의 프록시 설정을 구성할 수 있습니다. 구성 옵션에 대한 자세한 내용은 ‘리포지토리용 프록시 ’ 및 ‘ Instana 백엔드’를 참조하십시오.
- 선택 사항: 에이전트가 프로세스별 또는 네임스페이스별로 애플리케이션을 탐지하고 모니터링하는 방식을 사용자 지정하려면 ‘선택적 모니터링’을 참조하십시오.
에이전트 배포 코드를 복사한 다음 실행합니다.
에이전트가 설치되었습니다. 다음 단계에 대한 자세한 내용은 ‘다음 단계’ 섹션을 참조하십시오.
상담원을 업데이트하려면 상담원 설치 업데이트하기를 참조하세요.