|
1 | 1 | # Camel K |
2 | 2 |
|
3 | | -Apache Camel K is a lightweight integration platform, born on Kubernetes, with serverless superpowers: the easiest way to build and manage your Camel applications on Kubernetes. This chart deploys the Camel K operator and all resources needed to natively run Apache Camel Integrations on any Kubernetes cluster. |
| 3 | +Apache Camel K is the lightweight integration platform for Kubernetes: the easiest way to build and manage your Camel applications on Kubernetes. This chart deploys the Camel K operator and all resources needed to natively run Apache Camel Integrations on any Kubernetes cluster. |
4 | 4 |
|
5 | 5 | ## Prerequisites |
6 | 6 |
|
7 | | -- Kubernetes 1.11+ |
8 | | -- Container Image Registry installed and configured for pull |
| 7 | +- A container image registry installed and configured for pull |
| 8 | +- For production environments, a registry secret containing the access to container registry |
9 | 9 |
|
10 | | -## Installation procedure |
11 | | - |
12 | | -To install the chart, first add the Camel K repository: |
13 | | - |
14 | | -```bash |
15 | | -$ helm repo add camel-k https://apache.github.io/camel-k/charts |
16 | | -``` |
| 10 | +### Minikube |
17 | 11 |
|
18 | | -## Install the operator |
| 12 | +Minikube offers a container registry addon, which it makes very well suited for local Camel K development and testing purposes: |
19 | 13 |
|
20 | 14 | ```bash |
21 | | -$ helm install camel-k camel-k/camel-k |
| 15 | +$ minikube addons enable registry |
22 | 16 | ``` |
23 | 17 |
|
24 | | -## Set the container registry configuration |
| 18 | +You can use the container registry Service `registry` in namespace `kube-system` to configure in Camel K. |
25 | 19 |
|
26 | | -A regular installation requires you to provide a registry used by Camel K to build application containers. See official [Camel K registry documentation](https://camel.apache.org/camel-k/next/installation/registry/registry.html) or move to next section to run on a local Minikube cluster. |
| 20 | +## Installation procedure |
27 | 21 |
|
28 | | -Create an `itp.yaml` file like: |
| 22 | +To install the chart, first add the Camel K repository: |
29 | 23 |
|
30 | | -```yaml |
31 | | -apiVersion: camel.apache.org/v1 |
32 | | -kind: IntegrationPlatform |
33 | | -metadata: |
34 | | - labels: |
35 | | - app: camel-k |
36 | | - name: camel-k |
37 | | -spec: |
38 | | - build: |
39 | | - registry: |
40 | | - address: <my-registry-address> |
41 | | - organization: <my-organization> |
42 | | - secret: <my-secret-credentials> |
| 24 | +```bash |
| 25 | +$ helm repo add camel-k https://apache.github.io/camel-k/charts |
43 | 26 | ``` |
44 | 27 |
|
45 | | -and save the resource to the cluster with `kubectl apply -f itp.yaml`. |
46 | | - |
47 | | -### Minikube |
| 28 | +## Install the operator |
48 | 29 |
|
49 | | -Minikube offers a container registry addon, which it makes very well suited for local Camel K development and testing purposes. You can see the cluster IP registry addon using the following script: |
| 30 | +When installing the operator you must at least include the container registry to use (either the address or the service to use): |
50 | 31 |
|
51 | 32 | ```bash |
52 | | -$ minikube addons enable registry |
53 | | -$ kubectl -n kube-system get service registry -o jsonpath='{.spec.clusterIP}' |
| 33 | +$ helm install camel-k camel-k/camel-k --set global=true \ |
| 34 | + --set operator.env[0].name=REGISTRY_ADDRESS \ |
| 35 | + --set operator.env[0].value=<my-registry-address> \ |
| 36 | + --set operator.env[1].name=REGISTRY_SECRET \ |
| 37 | + --set operator.env[1].value=<my-registry-secret> |
54 | 38 | ``` |
55 | 39 |
|
56 | | -Then you can provide the IntegrationPlatform as `itp.yaml`: |
| 40 | +In the case of a local registry available (for example, in Minikube): |
57 | 41 |
|
58 | | -```yaml |
59 | | -apiVersion: camel.apache.org/v1 |
60 | | -kind: IntegrationPlatform |
61 | | -metadata: |
62 | | - labels: |
63 | | - app: camel-k |
64 | | - name: camel-k |
65 | | -spec: |
66 | | - build: |
67 | | - registry: |
68 | | - address: <REGISTRY_ADDRESS> |
69 | | - insecure: true |
| 42 | +```bash |
| 43 | +$ helm install camel-k camel-k/camel-k --set global=true \ |
| 44 | + --set operator.env[0].name=REGISTRY_SVC_NAMESPACE \ |
| 45 | + --set operator.env[0].value=kube-system \ |
| 46 | + --set operator.env[1].name=REGISTRY_SVC_NAME \ |
| 47 | + --set operator.env[1].value=registry \ |
| 48 | + --set operator.env[2].name=REGISTRY_INSECURE \ |
| 49 | + --set-string operator.env[2].value=true |
70 | 50 | ``` |
71 | 51 |
|
72 | | -and save the resource to the cluster with `kubectl apply -f itp.yaml`. |
| 52 | +> **Note**: the installation RBAC provide the setting to access the Service in the namespace, you need to provide the specific RBAC if using another Service. |
73 | 53 |
|
74 | 54 | ## Test your installation |
75 | 55 |
|
76 | | -Verify the IntegrationPlatform is in Ready status: |
77 | | - |
78 | | -```bash |
79 | | -kubectl get itp |
80 | | -NAME PHASE BUILD STRATEGY PUBLISH STRATEGY REGISTRY ADDRESS DEFAULT RUNTIME |
81 | | -camel-k Ready routine Jib 10.100.107.57 3.8.1 |
82 | | -``` |
83 | | - |
84 | 56 | Create a simple testing "Hello World" Integration as `test.yaml`: |
85 | 57 |
|
86 | 58 | ```yaml |
@@ -120,15 +92,9 @@ test Running True quarkus 3.8.1 3.8.1 |
120 | 92 |
|
121 | 93 | For any problem, check it out the official [troubleshooting guide](https://camel.apache.org/camel-k/next/troubleshooting/troubleshooting.html) or the [documentation](https://camel.apache.org/camel-k/next/index.html). |
122 | 94 |
|
123 | | -## Knative configuration |
124 | | - |
125 | | -Camel K offers the possibility to run serverless Integrations in conjunction with [Knative operator](https://knative.dev). Once Knative and Camel K are installed on the same platform, you can configure Knative resources to be played by Camel K. |
126 | | - |
127 | | -See instructions [how to enable Knative on Camel K](https://camel.apache.org/camel-k/next/installation/knative.html). |
128 | | - |
129 | 95 | ## Additional installation time configuration |
130 | 96 |
|
131 | | -The [configuration](#configuration) section lists additional parameters that can be set during installation. |
| 97 | +The [configuration](#configuration) section lists additional parameters that can be set during installation. From version 2.11.0 onward, the majority of parameters are expected to be configured via environment variables. See official documentation on Apache website for a full list. |
132 | 98 |
|
133 | 99 | > **Tip**: List all releases using `helm list` |
134 | 100 |
|
@@ -171,11 +137,18 @@ The following table lists the most commonly configured parameters of the Camel K |
171 | 137 |
|
172 | 138 | | Parameter | Description | Default | |
173 | 139 | |----------------------------------------|---------------------------------------------------------------------------|--------------------------------| |
| 140 | +| `operator.operatorId` | The id of the Camel K operator | `camel-k` | |
174 | 141 | | `operator.global` | Indicates if the operator should watch all namespaces | `false` | |
| 142 | +| `operator.image` | The container image to use to run the operator | <the official image> | |
175 | 143 | | `operator.nodeSelector` | The nodeSelector to use for the operator | | |
176 | 144 | | `operator.resources` | The resource requests and limits to use for the operator | | |
177 | 145 | | `operator.securityContext` | The (container-related) securityContext to use for the operator | | |
178 | 146 | | `operator.tolerations` | The list of tolerations to use for the operator | | |
| 147 | +| `operator.imagePullSecret` | The id of the Camel K operator | | |
| 148 | +| `operator.annotations` | The list of annotations to include to the operator Deployment | | |
| 149 | +| `operator.serviceAccount.annotations` | The list of annotations to include to the operator Service Account | | |
| 150 | +| `extraEnv` | Extra env var on the operator Deployment (deprecated, use `env`) | | |
| 151 | +| `env` | The operator configuration via environment variables | | |
179 | 152 |
|
180 | 153 | ## Contributing |
181 | 154 |
|
|
0 commit comments