在 Oracle Container Engine for Kubernetes (OKE) 上安裝主機代理程式

有不同的方法可將 instana 代理程式安裝至 Kubernetes 叢集。 雖然直接在主機上手動安裝代理程式,將會在該主機上執行監視儲存器及處理程序的工作,但它將無法收集 Kubernetes 資料。

安裝

建議透過 Helm 圖表來安裝代理程式。 若要執行手動安裝,請遵循一般 Kubernetes 安裝的步驟。

在 Oracle Container Engine for Kubernetes (OKE) 上建立 Kubernetes 叢集時,有一個用來安裝 Helm 的選項稱為 Tiller (Helm) Enabled; 如需在 OKE 上使用 Helm 的相關資訊,請參閱 建立 Kubernetes 叢集 OKE 文件。

檢查叢集上安裝的 Helm 版本,以及工作站上安裝的版本。

helm version

如果新建立的 Kubernetes 叢集上安裝的 Helm 版本比工作站上安裝的 Helm 版本舊,請將它更新為:

helm init --upgrade

Instana Helm 圖表 複製到工作站。

git clone https://github.com/instana/helm-charts

將複製的目錄設為工作目錄。

cd helm-charts/stable/instana_agent

從 Instana 使用者介面上的資訊看板中,按一下 設定 。 選取 安裝代理程式,然後從 Docker 型畫面中記下唯一代理程式金鑰及代理程式端點。 現在編輯 values.yaml 並放入那些值。

image:
  name: icr.io/instana/agent
  tag: latest
  pullPolicy: IfNotPresent

rbac:
  create: true

instana:
  zone: Oracle-OKE
  leaderElectorPort: 42655
  agent:
    key: <your unique key here>
    name: instana-agent
    endpoint:
      host: <regional endpoint here>
      port: 443

## Annotations to be added to pods
podAnnotations: {}

最後使用 helm 來安裝:

helm install --name instana-agent --namespace instana-agent .

檢查主機代理程式的狀態

安裝主機代理程式之後,您可以在 Instana 使用者介面或主機上檢查主機代理程式的狀態。 如需相關資訊,請參閱 檢查主機代理程式的狀態

配置受監視應用程式的網路存取權

下列類型的應用程式需要先聯繫代理程式:

  • Node.js
  • Go
  • Ruby
  • Python
  • .NET Core

在上述執行時期撰寫的應用程式需要知道主機代理程式在同一 Kubernetes 節點上接聽的 IP。 由於代理程式會自動在主機 IP 上接聽,請使用下列 向下 API Snippet ,將環境變數中主機代理程式的 IP 位址傳遞至應用程式 Pod:

spec:
  containers:
      env:
        - name: INSTANA_AGENT_HOST
          valueFrom:
            fieldRef:
              fieldPath: status.hostIP