Skip to content

Commit 9cd4712

Browse files
committed
chore(k8s): add PHP to k8s agent operator support
1 parent 80458e9 commit 9cd4712

File tree

1 file changed

+27
-15
lines changed

1 file changed

+27
-15
lines changed

src/content/docs/kubernetes-pixie/kubernetes-integration/installation/k8s-agent-operator.mdx

+27-15
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ freshnessValidatedDate: 2024-06-28
1717

1818
The Kubernetes APM auto-attach, formerly known as the Kubernetes agent operator, streamlines full-stack observability for Kubernetes environments by automating APM instrumentation alongside Kubernetes agent deployment. By enabling <InlinePopover type="APM"/> auto instrumentation, developers no longer need to manually manage [APM agents](/docs/apm/new-relic-apm/getting-started/introduction-apm/). The Kubernetes APM auto-attach will automatically install, upgrade and remove APM agents.
1919

20-
It currently [supports](#k8s-supported-versions) Java, .NET, Node.js, Python, and Ruby with additional languages (PHP and Go) on the way.
20+
It currently [supports](#k8s-supported-versions) Java, .NET, Node.js, Python, Ruby, and PHP with Go on the way.
2121

2222
## How it works [#how-it-works]
2323

@@ -94,7 +94,7 @@ Here's what the instrumentation CR lets you map out:
9494
* Name of the instrumentation CR
9595
* Where it will apply the instrumentation CR (thanks to `podLabelSelector` and `namespaceLabelSelector`)
9696
* APM agent (one per CR)
97-
* APM agent version
97+
* APM agent version
9898
* APM config parameters (env vars)
9999
* License key (optional)
100100

@@ -147,7 +147,7 @@ Both selectors support `matchLabel` and `matchExpressions`.
147147
>
148148

149149
`matchExpressions` is a more expressive label selector in Kubernetes and supports set-based matching unlike the `matchLabels`, which you can only use for exact matching. You can use it with or without the `matchLabels` selector.
150-
150+
151151
```yaml
152152
...
153153
selector:
@@ -158,9 +158,9 @@ Both selectors support `matchLabel` and `matchExpressions`.
158158
- {key: environment, operator: NotIn, values: [dev]}
159159
...
160160
```
161-
161+
162162
You can add more expressions to the selector. As in the example, each expression must contain a key, an operator, and possibly (depending on the operator) a list of values. There are four valid operators:
163-
163+
164164
* `In`: Label's value must match one of the specified values.
165165
* `NotIn`: Label's value must not match any of the specified values.
166166
* `Exists`: Pod must include a label with the specified key (the value isn't important). When using this operator, you shouldn't specify the values field.
@@ -186,7 +186,7 @@ You've got to specify the APM agent and its version within the instrumentation C
186186
</th>
187187
<th>
188188
Available versions
189-
</th>
189+
</th>
190190
</tr>
191191
</thead>
192192
<tbody>
@@ -199,7 +199,7 @@ You've got to specify the APM agent and its version within the instrumentation C
199199
</td>
200200
<td>
201201
[.NET](https://hub.docker.com/repository/docker/newrelic/newrelic-dotnet-init/general)
202-
</td>
202+
</td>
203203
</tr>
204204
<tr>
205205
<td>
@@ -210,7 +210,7 @@ You've got to specify the APM agent and its version within the instrumentation C
210210
</td>
211211
<td>
212212
[Java](https://hub.docker.com/repository/docker/newrelic/newrelic-java-init/general)
213-
</td>
213+
</td>
214214
</tr>
215215
<tr>
216216
<td>
@@ -221,7 +221,7 @@ You've got to specify the APM agent and its version within the instrumentation C
221221
</td>
222222
<td>
223223
[Node](https://hub.docker.com/repository/docker/newrelic/newrelic-node-init/general)
224-
</td>
224+
</td>
225225
</tr>
226226
<tr>
227227
<td>
@@ -232,7 +232,7 @@ You've got to specify the APM agent and its version within the instrumentation C
232232
</td>
233233
<td>
234234
[Python](https://hub.docker.com/repository/docker/newrelic/newrelic-python-init/general)
235-
</td>
235+
</td>
236236
</tr>
237237
<tr>
238238
<td>
@@ -243,7 +243,18 @@ You've got to specify the APM agent and its version within the instrumentation C
243243
</td>
244244
<td>
245245
[Ruby](https://hub.docker.com/repository/docker/newrelic/newrelic-ruby-init/general)
246-
</td>
246+
</td>
247+
</tr>
248+
<tr>
249+
<td>
250+
php
251+
</td>
252+
<td>
253+
`newrelic-php-init:latest`
254+
</td>
255+
<td>
256+
[PHP](https://hub.docker.com/repository/docker/newrelic/newrelic-php-init/general)
257+
</td>
247258
</tr>
248259
</tbody>
249260
</table>
@@ -281,6 +292,7 @@ In the above example, we show you how you can configure the agent settings globa
281292
* [Python](/docs/apm/agents/python-agent/configuration/python-agent-configuration/)
282293
* [.NET](/docs/apm/agents/net-agent/configuration/net-agent-configuration/)
283294
* [Ruby](/docs/apm/agents/ruby-agent/configuration/ruby-agent-configuration/)
295+
* [PHP](/docs/apm/agents/php-agent/configuration/php-agent-configuration/)
284296

285297

286298
<Callout variant="important">
@@ -376,7 +388,7 @@ metadata:
376388
namespace: newrelic
377389
spec:
378390
agent:
379-
language: java
391+
language: ruby
380392
image: newrelic/newrelic-ruby-init:latest
381393
namespaceLabelSelector:
382394
matchExpressions:
@@ -489,8 +501,8 @@ Run this command to see the available charts:
489501
id="custom-apm"
490502
title="Can I use custom instrumentation with the Kubernetes APM auto-attach?"
491503
>
492-
Yes, custom instrumentation will work the same as without APM auto-attach. The main difference is that the agent is now injected by APM auto-attach instead of installed in the container with the rest of the application dependencies.
493-
504+
Yes, custom instrumentation will work the same as without APM auto-attach. The main difference is that the agent is now injected by APM auto-attach instead of installed in the container with the rest of the application dependencies.
505+
494506
You can still import and call the agent API to add custom instrumentation into your application. You can also utilize a configuration file or environment variables to add custom instrumentation if the particular agent you're using supports it. Note that agents have order of precendence between configuration via environment variables and configuration via configuration files, so you will need to make sure your environment variable configuration via the operator is not clashing with your configuration via configuration file. See each agents custom instrumentation docs for details:
495507

496508
* [Java](/docs/apm/agents/java-agent/custom-instrumentation/java-custom-instrumentation/)
@@ -566,7 +578,7 @@ It's advised to uninstall any versions preceding 0.14 and proceed with the insta
566578

567579
## Support [#support]
568580

569-
The Kubernetes APM auto-attach currently supports the latest version of these APM agents: Java, .NET, Node.js, Python, and Ruby.
581+
The Kubernetes APM auto-attach currently supports the latest version of these APM agents: Java, .NET, Node.js, Python, Ruby and PHP.
570582

571583
Once is on general availability, the latest 3 versions of each of the APM agents will be supported.
572584

0 commit comments

Comments
 (0)