Commit Graph

105 Commits

Author SHA1 Message Date
Reilly Brogan 05fe75fa12 Update Cilium to 1.11.6 2022-07-01 19:40:55 +02:00
Ole Markus With 77ebba84b8 Add support for configuring which metrics cilium will export 2022-05-26 09:33:19 +02:00
Ole Markus With 2d50b9ff2c Bump Cilium to 1.11.5
Since this introduced some backwards breaking RBAC changes, the manifest got forked
2022-05-18 21:44:19 +02:00
Jesse Haka c050c49ac8 set nodeselector null 2022-05-15 23:30:00 +03:00
Ole Markus With b1387368a6 Fix affinity and taints for cilium 2022-04-18 13:55:51 +02:00
Ole Markus With 1fadc39a59 Add PDB for cilium operator 2022-04-09 07:06:59 +02:00
Ole Markus With 468280d3f2 Improve HA for various addons 2021-12-24 08:53:27 +01:00
Ole Markus With 89f0c85e90 Use spread constraints rather than affinity to spread pods (templates) 2021-12-20 09:33:20 +01:00
Ole Markus With 7cbad719da Hubble relay should not tolerate anything 2021-12-14 11:56:05 +01:00
Ole Markus With 57fd343e1d Make service topology for cilium configurable 2021-12-12 07:54:21 +01:00
John Gardiner Myers 5a60d34e14 Change sense of Cilium IPTablesRulesNoinstall in v1alpha3 2021-11-25 18:45:13 -08:00
John Gardiner Myers 837176340d Change sense of Cilium DisableMasquerade in v1alpha3 2021-11-25 18:45:13 -08:00
John Gardiner Myers b9ac79ec6e Rename fields in v1alpha3 networking API to fit acronym convention 2021-11-22 08:07:55 -08:00
zhengtianbao 55c3120ff6 Fix render template cilium AgentPrometheusPort into a UNICODE char 2021-11-12 14:45:45 +08:00
John Gardiner Myers 7cb4fbe91e Never masquerade IPv6 with Cilium 2021-10-27 23:40:02 -07:00
John Gardiner Myers fdc128fda4 Remove vestigial Cilium ContainerRuntimeLabels code 2021-10-26 16:10:21 -07:00
Ole Markus With 11e68308d1 Disable CNP status updates by default 2021-10-20 14:01:48 +02:00
dntosas 7296597a17
[cilium] Add support for bpf-lb-sock-hostns-only field
This is a needed configuration option for users that want to combine
Cilium alongside with a ServiceMesh. Cilium by default will LB requests
at CNI layer meaning that the Sidecars of ServiceMesh Proxy are not able
to apply LB by themselves thus loosing the capability of applying their
features for traffic management.

Ref issue: https://github.com/istio/istio/issues/35531

Signed-off-by: dntosas <ntosas@gmail.com>
2021-10-12 08:33:57 +03:00
Nicolas Sterchele 103a98d060 Add Cilium agent pod annotations support to improve personalization
Annotations is pretty useful when you need third-party tool to add additional behavior
for a k8s resource.
Lots of auto-discovery tools are based on this annotations.
2021-10-04 15:49:51 +02:00
Ole Markus With 39178703c8 Mount cgroupv2 for cilium at a custom location 2021-09-27 19:29:36 +02:00
Kubernetes Prow Robot ef22270b3f
Merge pull request #12394 from ReillyBrogan/reilly/ciliumBidirectionalMount
Add bidirectional BPF mount for Cilium >= 1.9.10 or >= 1.10.4
2021-09-25 09:42:21 -07:00
Anthony Hausman 5e814f465d
Add support to configure Cilium CNI chaining
CNI chaining allows to use Cilium in combination with other CNI plugins.

With Cilium CNI chaining, the base network connectivity and IP address management is managed by the non-Cilium CNI plugin, but Cilium attaches eBPF programs to the network devices created by the non-Cilium plugin to provide L3/L4 network visibility, policy enforcement and other advanced features.

https://docs.cilium.io/en/v1.9/gettingstarted/cni-chaining/#cni-chaining

In our case, to be able to use the `HostPort` feature in our cluster, we need to enable the `portmap` plugin.
2021-09-24 10:39:22 +02:00
Reilly Brogan bce435da1c Add bidirectional BPF mount for Cilium >= 1.9.10 or >= 1.10.4
- Cilium versions 1.10.4 and 1.9.10 now auto-mount the bpf file-system automatically
- Also remove redundant capabilities (these are already automatically granted by virtue of this being a privileged container)
2021-09-23 13:01:58 -05:00
Ole Markus With 1c53e37491 Disable masquerade means disable masquerade if ipv6 too 2021-09-04 08:54:16 +02:00
dntosas 0e8d189aee [cilium] Add support for encryption via WireGuard
In this commit, we enable users to choose WireGuard as their prefered
encryption type, leveraging this new feature from Cilium.

Ref: https://cilium.io/blog/2021/05/20/cilium-110#wireguard

Signed-off-by: dntosas <ntosas@gmail.com>
2021-08-16 14:08:59 +02:00
Ole Markus With 133eb1f7ba Bump cilium to 1.10.3 2021-08-12 21:12:25 +02:00
Ole Markus With 97a41c66f4 Enable k8s event handover when kvstore is used 2021-07-09 15:46:43 +02:00
dntosas 7bf65ff7ef
[cni/cilium] Add support for additional config options
In this commit, we enable users define their setup with following
additional fields:

- DisableEndpointCRD
- EnableEndpointHealthChecking
- IdentityAllocationMode
- IdentityChangeGracePeriod
- BPFLBAlgorithm
- BPFLBMaglevTableSize
- BPFNATGlobalMax
- BPFNeighGlobalMax
- BPFPolicyMapMax
- EnableBPFMasquerade
- EnableL7Proxy

Added also validation tests to prevent conflicting value combinations to
reach actual cluster state.

Signed-off-by: dntosas <ntosas@gmail.com>
Co-authored-by: hwoarang <markos@chandras.me>
Signed-off-by: dntosas <ntosas@gmail.com>
2021-06-16 09:35:42 +03:00
Kubernetes Prow Robot 0347d79a14
Merge pull request #11754 from johngmyers/ipv6-cilium
Enable IPv6 support for Cilium
2021-06-14 07:27:04 -07:00
John Gardiner Myers 3cf8234d01 Cilium: disable masquerade by default when in ENI IPAM mode 2021-06-13 21:36:56 -07:00
John Gardiner Myers c0b54d980d Enable IPv6 support for Cilium 2021-06-13 20:47:44 -07:00
Ole Markus With c162013a3c Use quay images for cilium 2021-06-08 23:01:08 +02:00
Kubernetes Prow Robot c28783c581
Merge pull request #11514 from ulfox/cilium/prometheus-scrape-annotations
[addons/networking.cilium.io] enable prometheus scraping
2021-05-19 10:12:51 -07:00
Christos Kotsis 34ac1ad8d4
[feedback/tests] 2021-05-19 09:59:16 +03:00
Ole Markus With 22f3a4aff8 Add default tags to LB controller and cilium eni resources 2021-05-18 19:02:40 +02:00
Christos Kotsis bb98caeed3
[tests/feedback] fix missing quote function with printf 2021-05-18 19:42:50 +03:00
Christos Kotsis 2ba0843c91
Update upup/models/cloudup/resources/addons/networking.cilium.io/k8s-1.16-v1.10.yaml.template
Co-authored-by: John Gardiner Myers <jgmyers@proofpoint.com>
2021-05-18 19:14:15 +03:00
Christos Kotsis 793115242a
Update upup/models/cloudup/resources/addons/networking.cilium.io/k8s-1.12-v1.9.yaml.template
Co-authored-by: John Gardiner Myers <jgmyers@proofpoint.com>
2021-05-18 19:14:09 +03:00
Christos Kotsis 08162bcc2e
Update upup/models/cloudup/resources/addons/networking.cilium.io/k8s-1.12-v1.8.yaml.template
Co-authored-by: John Gardiner Myers <jgmyers@proofpoint.com>
2021-05-18 19:13:59 +03:00
Christos Kotsis 5ac4569998
[addons/networking.cilium.io] enable prometheus scraping
When EnablePromethesMetrics is enabled the
required metrics endpoints are exposed but
no annotations is included in the agents.

This commit includes the prometheus.io/scrape
and prometheus.io/port annotations that
prometheus scrappers can use for auto-discovery

Co-authored-by: tchatzig <t.chatzigeorgiou@thebeat.co>
2021-05-18 16:59:56 +03:00
John Gardiner Myers d3469d6ec2 Remove code for no-longer-supported k8s versions 2021-05-07 23:40:03 -07:00
Ole Markus With 2c95c2fe50 Don't try to mount hubble TLS on the agent if we don't use hubble 2021-05-04 11:26:20 +02:00
Ole Markus With aadcd9d448 Add more support for cilium 1.10 2021-05-03 16:10:56 +02:00
Ole Markus With 7c0be997e1 Expose hubble agent when hubble is enabled
Also enables PKI for the addon
2021-04-30 17:52:19 +02:00
bjhaid af1189befd Add `enable-host-reachable-services` to 1.8 and generic cilium.
This completes #11333. I missed these updating these other template
files when I submitted #11333.
2021-04-27 13:57:38 -05:00
bjhaid 88ed9f68bd Add support for configuring Cilium enable-host-reachable-services.
After upgrading Cilium to 1.8 via kops one of our clusters had a total
outage due to cilium reporting errors as below:

```
level=error msg="endpoint regeneration failed" containerID= datapathPolicyRevision=0 desiredPolicyRevision=1 endpointID=592 error="Failed to load tc filter: exit status 1" identity=40147 ipv4= ipv6= k8sPodName=/ subsys=endpoint
```

upon searching Cilium slack we found the below thread:

https://cilium.slack.com/archives/C1MATJ5U5/p1616400216167600

which recommended setting `enable-host-reachable-services` to true will
address the problems. We set the field and it fixed our issues too,
however we observed that kops does not have a means to configure this
hence this PR.

We will like to have this backported after it has been merged.
2021-04-27 12:49:27 -05:00
Ole Markus With 8f1f2446c3 Use the full operator instead of the generic one 2021-04-24 18:01:36 +02:00
Javi Polo 685e856d66 Fix cilium template scoping typo
Fixes https://github.com/kubernetes/kops/issues/11269
2021-04-20 17:44:22 +02:00
dntosas 55524935d7
[cilium] Add support for choosing resources
Cilium as a CNI is a critical component for the cluster so it would be safe
to have some guaranteed resources as well as allowing the users to
define them based on their needs.

In this commit, we init default requested resources and add the
capability of user-defined values.

Signed-off-by: dntosas <ntosas@gmail.com>
2021-04-19 11:30:02 +03:00
Ciprian Hacman b44065c692 Remove manually added labels from addons 2021-03-06 09:31:22 +02:00