diff --git a/incubator/azuremonitor-containers/Chart.yaml b/incubator/azuremonitor-containers/Chart.yaml index 7e88da4357..df5caae453 100644 --- a/incubator/azuremonitor-containers/Chart.yaml +++ b/incubator/azuremonitor-containers/Chart.yaml @@ -1,8 +1,8 @@ apiVersion: v1 -appVersion: 4.0.0-0 +appVersion: 5.0.0-0 description: Helm chart for deploying Azure Monitor container monitoring agent in Kubernetes name: azuremonitor-containers -version: 0.6.0 +version: 1.0.0 keywords: - monitoring - azuremonitor @@ -16,6 +16,9 @@ keywords: - kubernetesmonitoring - acs-engine - aks-engine + - containerlogs + - containerhealth + - containermonitoring home: https://docs.microsoft.com/en-us/azure/monitoring/monitoring-container-health icon: https://raw.githubusercontent.com/Microsoft/OMS-docker/ci_feature/img/azuremonitor-containers.svg sources: diff --git a/incubator/azuremonitor-containers/README.md b/incubator/azuremonitor-containers/README.md index c56b1b9b83..120dfaed38 100644 --- a/incubator/azuremonitor-containers/README.md +++ b/incubator/azuremonitor-containers/README.md @@ -59,9 +59,14 @@ The following table lists the configurable parameters of the MSOMS chart and the | `omsagent.secret.key` | Azure Log analytics workspace key | Does not have a default value, needs to be provided | | `omsagent.domain` | Azure Log analytics cloud domain (public / govt) | opinsights.azure.com (Public cloud as default), opinsights.azure.us (Govt Cloud) | | `omsagent.env.clusterName` | Name of your cluster | Does not have a default value, needs to be provided. If AKS-Engine or ACS-Engine K8S cluster, it is recommended to provide either one of the below as cluster name, to be able to use Azure Container monitoring User experience (aka.ms/azmon-containers)

- Azure Resource group resource ID of ACS-Engine cluster
- Provide a friendly name here and ensure this name is used to 'tag' the cluster master node(s) - see step-3 in pre-requisites above | -|`omsagent.env.doNotCollectKubeSystemLogs`| Disable collecting logs from containers in 'kube-system' namespace | true| | `omsagent.rbac` | rbac enabled/disabled | true (i.e enabled) | +### Note +Parameter `omsagent.env.doNotCollectKubeSystemLogs` has been removed starting chart version 1.0.0. Refer to 'Agent data collection settings' section below to configure it using configmap. + +## Agent data collection settings + +Staring with chart version 1.0.0, agent data collection settings are controlled thru a config map. Refer to documentation about agent data collection settings [here](https://docs.microsoft.com/en-us/azure/azure-monitor/insights/container-insights-agent-config) You can create a Azure Loganalytics workspace from portal.azure.com and get its ID & PRIMARY KEY from 'Advanced Settings' tab in the Ux. diff --git a/incubator/azuremonitor-containers/templates/omsagent-daemonset.yaml b/incubator/azuremonitor-containers/templates/omsagent-daemonset.yaml index 9c76643e64..0b8fa20ec0 100644 --- a/incubator/azuremonitor-containers/templates/omsagent-daemonset.yaml +++ b/incubator/azuremonitor-containers/templates/omsagent-daemonset.yaml @@ -4,9 +4,10 @@ kind: DaemonSet metadata: name: omsagent namespace: kube-system - chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} - release: {{ .Release.Name }} - heritage: {{ .Release.Service }} + labels: + chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} spec: updateStrategy: type: RollingUpdate @@ -17,21 +18,20 @@ spec: annotations: agentVersion: {{ .Values.omsagent.image.tag }} dockerProviderVersion: {{ .Values.omsagent.image.dockerProviderVersion }} + schema-versions: "v1" spec: {{- if .Values.omsagent.rbac }} serviceAccountName: omsagent {{- end }} containers: - name: omsagent - image: "microsoft/oms:{{ .Values.omsagent.image.tag }}" + image: "mcr.microsoft.com/azuremonitor/containerinsights/ciprod:{{ .Values.omsagent.image.tag }}" imagePullPolicy: IfNotPresent resources: {{ toYaml .Values.omsagent.resources.daemonset | indent 9 }} env: - name: ACS_RESOURCE_NAME value: {{ .Values.omsagent.env.clusterName | quote }} - - name: DISABLE_KUBE_SYSTEM_LOG_COLLECTION - value: {{ .Values.omsagent.env.doNotCollectKubeSystemLogs | quote }} - name: CONTROLLER_TYPE value: "DaemonSet" - name: NODE_IP @@ -60,12 +60,15 @@ spec: - mountPath: /etc/omsagent-secret name: omsagent-secret readOnly: true + - mountPath: /etc/config/settings + name: settings-vol-config + readOnly: true livenessProbe: exec: command: - /bin/bash - -c - - (ps -ef | grep omsagent | grep -v "grep") && (ps -ef | grep td-agent-bit | grep -v "grep") + - "/opt/livenessprobe.sh" initialDelaySeconds: 60 periodSeconds: 60 nodeSelector: @@ -98,4 +101,8 @@ spec: - name: omsagent-secret secret: secretName: omsagent-secret + - name: settings-vol-config + configMap: + name: container-azm-ms-agentconfig + optional: true {{- end }} \ No newline at end of file diff --git a/incubator/azuremonitor-containers/templates/omsagent-deployment.yaml b/incubator/azuremonitor-containers/templates/omsagent-deployment.yaml index ca3699608b..bb988ef807 100644 --- a/incubator/azuremonitor-containers/templates/omsagent-deployment.yaml +++ b/incubator/azuremonitor-containers/templates/omsagent-deployment.yaml @@ -4,9 +4,10 @@ kind: Deployment metadata: name: omsagent-rs namespace: kube-system - chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} - release: {{ .Release.Name }} - heritage: {{ .Release.Service }} + labels: + chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} spec: replicas: 1 selector: @@ -21,21 +22,20 @@ spec: annotations: agentVersion: {{ .Values.omsagent.image.tag }} dockerProviderVersion: {{ .Values.omsagent.image.dockerProviderVersion }} + schema-versions: "v1" spec: {{- if .Values.omsagent.rbac }} serviceAccountName: omsagent {{- end }} containers: - name: omsagent - image: "microsoft/oms:{{ .Values.omsagent.image.tag }}" + image: "mcr.microsoft.com/azuremonitor/containerinsights/ciprod:{{ .Values.omsagent.image.tag }}" imagePullPolicy: IfNotPresent resources: {{ toYaml .Values.omsagent.resources.deployment | indent 9 }} env: - name: ACS_RESOURCE_NAME value: {{ .Values.omsagent.env.clusterName | quote }} - - name: DISABLE_KUBE_SYSTEM_LOG_COLLECTION - value: {{ .Values.omsagent.env.doNotCollectKubeSystemLogs | quote }} - name: CONTROLLER_TYPE value: "ReplicaSet" - name: NODE_IP @@ -63,12 +63,15 @@ spec: readOnly: true - mountPath : /etc/config name: omsagent-rs-config + - mountPath: /etc/config/settings + name: settings-vol-config + readOnly: true livenessProbe: exec: command: - /bin/bash - -c - - ps -ef | grep omsagent | grep -v "grep" + - "/opt/livenessprobe.sh" initialDelaySeconds: 60 periodSeconds: 60 nodeSelector: @@ -96,4 +99,8 @@ spec: - name: omsagent-rs-config configMap: name: omsagent-rs-config + - name: settings-vol-config + configMap: + name: container-azm-ms-agentconfig + optional: true {{- end }} \ No newline at end of file diff --git a/incubator/azuremonitor-containers/templates/omsagent-rbac.yaml b/incubator/azuremonitor-containers/templates/omsagent-rbac.yaml index 2047d454e0..7d4ed53a1f 100644 --- a/incubator/azuremonitor-containers/templates/omsagent-rbac.yaml +++ b/incubator/azuremonitor-containers/templates/omsagent-rbac.yaml @@ -4,29 +4,34 @@ kind: ServiceAccount metadata: name: omsagent namespace: kube-system - chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} - release: {{ .Release.Name }} - heritage: {{ .Release.Service }} + labels: + chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} --- kind: ClusterRole apiVersion: rbac.authorization.k8s.io/v1beta1 metadata: name: omsagent-reader - chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} - release: {{ .Release.Name }} - heritage: {{ .Release.Service }} + labels: + chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} rules: - apiGroups: [""] resources: ["pods", "events", "nodes", "namespaces", "services"] - verbs: ["list"] + verbs: ["list", "get", "watch"] +- nonResourceURLs: ["/metrics"] + verbs: ["get"] --- kind: ClusterRoleBinding apiVersion: rbac.authorization.k8s.io/v1beta1 metadata: name: omsagentclusterrolebinding - chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} - release: {{ .Release.Name }} - heritage: {{ .Release.Service }} + labels: + chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} subjects: - kind: ServiceAccount name: omsagent diff --git a/incubator/azuremonitor-containers/templates/omsagent-rs-configmap.yaml b/incubator/azuremonitor-containers/templates/omsagent-rs-configmap.yaml index 9dc7b5f504..8abc2ae827 100644 --- a/incubator/azuremonitor-containers/templates/omsagent-rs-configmap.yaml +++ b/incubator/azuremonitor-containers/templates/omsagent-rs-configmap.yaml @@ -223,7 +223,8 @@ data: metadata: name: omsagent-rs-config namespace: kube-system - chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} - release: {{ .Release.Name }} - heritage: {{ .Release.Service }} + labels: + chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} {{- end }} \ No newline at end of file diff --git a/incubator/azuremonitor-containers/values.yaml b/incubator/azuremonitor-containers/values.yaml index 62e7a35152..9670f16cfe 100644 --- a/incubator/azuremonitor-containers/values.yaml +++ b/incubator/azuremonitor-containers/values.yaml @@ -6,9 +6,9 @@ ## ref: https://github.com/Microsoft/OMS-docker/tree/ci_feature_prod omsagent: image: - tag: "ciprod04232019" + tag: "ciprod07092019" pullPolicy: IfNotPresent - dockerProviderVersion: "4.0.0-0" + dockerProviderVersion: "6.0.0-0" agentVersion: "1.10.0.1" ## To get your workspace id and key do the following ## You can create a Azure Loganalytics workspace from portal.azure.com and get its ID & PRIMARY KEY from 'Advanced Settings' tab in the Ux. @@ -19,7 +19,6 @@ omsagent: domain: opinsights.azure.com env: clusterName: - doNotCollectKubeSystemLogs: "true" rbac: true ## Configure resource requests and limits @@ -28,15 +27,15 @@ omsagent: resources: daemonset: requests: - cpu: 50m + cpu: 75m memory: 225Mi limits: cpu: 150m - memory: 300Mi + memory: 600Mi deployment: requests: cpu: 50m - memory: 100Mi + memory: 175Mi limits: cpu: 150m memory: 500Mi