I am using APM version 8.2.0, how do i allocate the indexes/data-streams to be on a specific nodeset.
For example in my metricbeat.yml and filebeat.yml i might do the following:
setup.template.settings:
index:
routing.allocation.require.type: "monitoring"
However the above does not work with apm server.
apm.yaml
apiVersion: apm.k8s.elastic.co/v1
kind: ApmServer
metadata:
name: apm-server-prod
namespace: elastic-system
spec:
version: 8.2.0
count: 1
elasticsearchRef:
name: "elasticsearch-prod"
kibanaRef:
name: "kibana-prod"
http:
service:
spec:
type: NodePort
config:
setup.template.settings:
index:
routing.allocation.require.type: "monitoring" // Does not work
apm-server:
auth:
anonymous:
rate_limit:
event_limit: 300
ip_limit: 1000
allow_service: ["admin-dashboard"]
rum:
enabled: true
allow_origins: ["*"]
kibana.yaml
apiVersion: kibana.k8s.elastic.co/v1
kind: Kibana
metadata:
name: kibana-prod
namespace: elastic-system
spec:
version: 8.2.0
count: 1
elasticsearchRef:
name: elasticsearch-prod
http:
service:
spec:
type: NodePort
podTemplate:
metadata:
labels:
scrape: kb
spec:
containers:
- name: kibana
resources:
limits:
memory: 2Gi
cpu: 1
nodeSelector:
geeiq/node-type: ops
config:
monitoring.kibana.collection.enabled: false
xpack.fleet.packages:
- name: apm
version: latest
I'm looking for a solution that i can programtically make, not a manual solution using the kibana dashboard/ui