Commit Graph

20 Commits

Author SHA1 Message Date
Phil Sphicas 08906262fd Update tolerations and priority classes
* Give kube-proxy a blanket toleration
* Replace scheduler.alpha.kubernetes.io/critical-pod annotation with
    priorityClassName: system-node-critical

Change-Id: I810333913c09531eefa1ded014fe090d4cca7f7d
2021-10-18 11:33:54 -07:00
Thirunavukkarasu Palani 1401664ab2 Update Proxy chart
1. Remove hostname override
2. Include condition in proxy chart

Change-Id: Idc674643e668c4b1ec82e037bb74ca244c0c071c
2021-06-22 20:57:23 +00:00
Thirunavukkarasu Palani 9da1262c70 Add configMap to proxy chart
Flags in kube-proxy other than --config, --write-config-to,
and --cleanup are deprecated.
Added configmap to remove deprecated warning

Change-Id: I325e3a459b1079c6d1902bf06a43e00021231716
2021-06-15 14:22:23 +00:00
Phil Sphicas 354deab382 kube-proxy: use HTTP probes instead of exec
The existing liveness and readiness probes for kube-proxy are in need of
adjustment. The current implementation is exec-based, which can be a
resource concern, and is tied heavily to iptables, so is incompatible
with ipvs.

This change removes the exec-based liveness and readiness probes from
the kube-proxy daemonset, and replaces them with HTTP probes of the
healthz endpoint, following the direction that kubernetes seems to be
taking.[0][1]

The values.yaml interface to enable and disable the probes and set various
parameters is also modified to use the helm-toolkit standard snippet.[2]
Notably, the settings previously configurable under livenessProbe.config
are now under pod.probes.proxy.proxy.liveness.params.

0: https://github.com/kubernetes/kubernetes/issues/81630
1: https://github.com/kubernetes/kubernetes/pull/75323
2: https://opendev.org/openstack/openstack-helm-infra/src/branch/master/helm-toolkit/templates/snippets/_kubernetes_probes.tpl

Change-Id: I99ccbc2270a1f8a204417aa410868d04788dc60f
2020-05-24 07:38:55 +00:00
NarlaSandeepNarlaSaibaba ea61be1ac4 Adding apparmor annotation kube-proxy
Change-Id: Ia5c3ec489e5dc6c247b1ac3646285da4716d3e1a
2020-02-01 19:37:09 -06:00
KHIYANI, RAHUL (rk0850) d850c36afa Proxy: Add pod/container security context
This updates the proxy chart to include the pod
security context on the pod template.

This also adds the container security context to set
readOnlyRootFilesystem flag to false

Change-Id: I4e6d2836aa9d548118937b6b176e06fbc4a8c7ee
2019-11-04 21:24:03 +00:00
Luna Das 7f63537f8a Add facility to configure log levels in kubernetes-components
Change-Id: Ib7c481b71818c6673cd0b9c47d282d4a3f42d307
2019-08-14 13:33:21 +05:30
Kumar, Nishant(nk613n) 75d3a86234 Add release uuid annotation to POD spec
Change-Id: Id4a96de7da9233589b54217e04a346281eaea68c
2019-06-25 14:55:05 +00:00
Egorov, Stanislav (se6518) 3685419042 Fixed for hyperkube 1.12
During bootstrap process kubernetes node is not ready due to missed CNI.
It will be installed later but for a few daemonsets it's critical.
They can't start pods and looping in a while.

Workaround is here: add tolerations.

Change-Id: Ib3c361949ea4e452d599aa7a3a2b7827541b7bac
2019-05-14 10:25:53 -07:00
Sean Eagan 2e2a30515c Use apps/v1 k8s controllers and add labels
Daemonset update strategy defaults to OnDelete in v1beta1, whereas
it defaults to RollingUpdate in v1, which seems prefereable.

This also adds helm-toolkit based labels at the controller level
to match standard usage such as for example by armada as wait labels.

This change has been tested using the promenade resiliency gate.

Change-Id: I9fd1bc4caedc0a6717b779e5333640ca8dc78b7e
2019-04-23 09:24:53 -05:00
Zuul 422d22ff9c Merge "Add release uuid to pods and rc objects (prom)" 2018-11-06 19:18:34 +00:00
Mark Burnett 6638b47cb9 Share process namespaces with exec probes
This avoids leaving zombies in cases where the processes don't reap
children.

Also fixes a certificate issue with the resiliency gate.

Change-Id: I8a795557b0d60338c40b360c947b81a20fd48877
2018-11-02 14:53:48 -05:00
Matt McEuen eae60aba15 Add release uuid to pods and rc objects (prom)
This PS adds the ability to attach a release uuid to pods and rc
objects as desired.  This can be used, for example, to force an
artificial manifest change in CICD scenarios, for upgradability
testing purposes.

Change-Id: I8d0ffac306258f940c63799e86e7e26b5c2c5add
2018-10-16 12:43:32 -05:00
Mark Burnett d738bbf314 Re-align Kubernetes proxy chart with upstream DS
This brings the proxy chart into alignment with the upstream Daemonset
yaml.

* Add missing mounts
* Set NODE_NAME explicitly

Change-Id: I0fb0406a02735b4714df3c8082b313d200cd7721
2018-10-03 14:48:45 -05:00
Mark Burnett 69cb269230 Make K8S proxy health check more aggressive
In K8S version 1.10, the proxy can sometimes get stuck believing that
some services do not have any endpoints.  This seems to be triggered by
network instability, though the proxy doesn't seem to recover on its
own, while bouncing the pod fixes the issue.

This change adds a naive means of detecting and recoverying from this
(`iptables-save | grep 'has no endpoints'` in the liveness probe) that
may occasionally have false positives.  As such, the liveness probe is
configured very conservatively to avoid triggering CrashLoopBackoff in
the event of a false positive.

Finally, there is a whitelist feature to help avoid false positives for
services that are known to legitimately have empty endpoints during the
course of normal operation (e.g. Patroni might manage such an endpoint
list).

Change-Id: I29a770fab70b1fb79db59ef5408f40b2af1c01f9
2018-09-05 13:46:03 -05:00
Mark Burnett f73cbfcc85 Add liveness probe to kube-proxy
Change-Id: I420926a5720a90eb1748ba2bc58ac62fc4e93dd9
2018-07-23 11:17:41 -05:00
Scott Hussey e1c5ebdf04 Fix resource limit indent on kube-proxy
- Indent level was wrong for resoures section

Change-Id: If8a24d078be083b1791f560245609729edb2df01
2018-04-03 10:15:29 -05:00
Hassan Kaous e9f8035c60 Kubernetes Proxy Service Account
Use service account token to manage certs

Change-Id: Ibfdef1bcea13f87fc52ef03c59021ed31a0df3e0
2018-02-12 02:37:49 +00:00
Hassan Kaous 98561baf80 Refactor Kubernetes Proxy Chart
Refactor of the kubernetes proxy chart to align with OSH standards

Change-Id: I2604eae413090ec1d5dac242eafa4d2a96ce4551
2017-11-20 13:56:19 -05:00
Mark Burnett 95643147c5 Migrate to self hosted using charts
This change includes several interconnected features:

* Migration to Deckhand-based configuration.  This is integrated here,
  because new configuration data were needed, so it would have been
  wasted effort to either implement it in the old format or to update
  the old configuration data to Dechkand format.
* Failing faster with stronger validation.  Migration to Deckhand
  configuration was a good opportunity to add schema validation, which
  is a requirement in the near term anyway.  Additionally, rendering
  all templates up front adds an additional layer of "fail-fast".
* Separation of certificate generation and configuration assembly into
  different commands.  Combined with Deckhand substitution, this creates
  a much clearer distinction between Promenade configuration and
  deployable secrets.
* Migration of components to charts.  This is a key step that will
  enable support for dynamic node management.  Additionally, this paves
  the way for significant configurability in component deployment.
* Version of kubelet is configurable & controlled via download url.
* Restructuring templates to be more intuitive.  Many of the templates
  require changes or deletion due to the migration to charts.
* Installation of pre-configured useful tools on hosts, including calicoctl.
* DNS is now provided by coredns, which is highly configurable.

Change-Id: I9f2d8da6346f4308be5083a54764ce6035a2e10c
2017-10-17 13:29:46 -05:00