Commit Graph

48 Commits

Author SHA1 Message Date
Ruslan Aliev a58678d5d2 Add configurable ETCD parameters to aux cluster
Bump k8s, calico, etcd, coredns and helm.

Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
Change-Id: I77373c223c6ea723ee31fe51e6fb4a9e84be03f7
2024-04-18 13:22:17 -05:00
Sergiy Markin 69a74590e7 Airflow stable 2.6.2
This PS updates python modules and code to match Airflow 2.6.2:

- bionic py36 gates  were removed
- python code corrected to match new modules versions
- selection of python modules versions was perfoemed based on
  airflow-2.6.2 constraints

Change-Id: I9c3e139b3437414a61af7e7c0b7d7e533fadefda
2023-08-29 21:12:11 +00:00
Wahlstedt, Walter (ww229g) 3ba747bb48 CoreDNS: uplift to 1.9.4
* Uplift the CoreDNS image to 1.9.4 (From mirantis product)

Change-Id: I3e272761b802cd2cc227c9877cecab1d19cda486
2022-09-23 14:51:06 -04:00
Wahlstedt, Walter (ww229g) c60ea37cc3 CoreDNS: uplift to 1.8.6
* Uplift the CoreDNS image to 1.8.6 (aligning to k8s v1.23) [0]
* Add support for endpointslices

0: https://github.com/coredns/deployment/blob/master/kubernetes/CoreDNS-k8s_version.md
Change-Id: I06f43d6152de2347ba056139429f09222def8d5f
2022-09-14 14:33:28 -05:00
Sean Eagan 731deccf05 charts: move to helm 3 preferred apis
- `helm.sh/hook: test-success` > `helm.sh/hook: test`

Signed-off-by: Sean Eagan <seaneagan1@gmail.com>
Change-Id: If7dded45533705ee028e5d6da326ea94a634529d
2021-09-30 16:57:16 -05:00
Sean Eagan 9d696ca0a4 Use helm 3 in chart build
`helm serve` is removed in helm 3 so this moves
to using local `file://` dependencies [0] instead.

[0]: https://helm.sh/docs/chart_best_practices/dependencies/#repository-urls

Signed-off-by: Sean Eagan <seaneagan1@gmail.com>
Change-Id: Ia45c57e0cccac477f6ff59a254d03d6fcec14bef
2021-09-30 16:57:05 -05:00
Phil Sphicas 06254b36ed CoreDNS: Uplift to 1.7.0
* Uplift the CoreDNS image to 1.7.0 (aligning to k8s v1.20) [0]
* Update the Corefile based on corefile-tool migration [1]

Note that the previously-deprecated "upstream" option is removed in
1.7.0 [2], and if not removed from the Corefile, will cause the pods to
crashloop.

0: https://github.com/coredns/deployment/blob/master/kubernetes/CoreDNS-k8s_version.md
1: https://github.com/coredns/corefile-migration/tree/master/corefile-tool
2: https://github.com/coredns/coredns/pull/3737

Change-Id: I03882240e8335f09956e412345e783e9a897ed9a
2021-05-03 17:30:48 +00:00
Phil Sphicas 5cf854e25c CoreDNS: Migrate Corefile to version 1.6.4
The Corefile in values.yaml has been unchanged since before CoreDNS
version 1.1.3, but the specified image version is 1.6.4.

This change aligns the Corefile with the CoreDNS version, as generated
by the Corefile migration tool [0]:

    corefile-tool migrate --from 1.1.3 --to 1.6.4

0: https://github.com/coredns/corefile-migration/tree/master/corefile-tool

Change-Id: I8912737bf219e43e1b8e477109a76d38085014f2
2021-05-03 17:12:50 +00:00
Andrii Ostapenko 940253563a
Change helm-toolkit dependency version to ">= 0.1.0"
Since we introduced chart version check in gates, requirements are not
satisfied with strict check of 0.1.0

Change-Id: Ifd2d7af1f2dabe9bbccd65551e0223dddff529dc
2020-09-24 19:43:10 -05:00
KHIYANI, RAHUL (rk0850) 1e4b5e0d45 Add pod/container security context to promenade charts
This updates the coredns, haproxy and etcd chart to include the pod
security context on the pod template.

This also adds the container security context to set
readOnlyRootFilesystem flag

Change-Id: I9b5b0ea83acd4c5656577d8cbc684a5031ca0111
2020-06-29 17:06:02 -05:00
KHIYANI, RAHUL (rk0850) 83104b345f Promenade: Add apparmor profile to promenade charts
This change adds apparmor profile to coredns, haproxy, etcd and
promenade charts

Change-Id: Ic0000f0bf515f6ddf0085b5ec0085a5a51e591b2
2020-05-18 16:18:28 +00:00
KHIYANI, RAHUL (rk0850) bb8dd7af48 Coredns: Add apparmor profile to coredns-health container
Adding profile to missing container in coredns chart

Change-Id: I87d99ea53f8c7e086a5e098ae23e0a8ab8f84d6f
2020-04-17 22:32:52 +00:00
KHIYANI, RAHUL (rk0850) 7c8377447c Add Docker default AppArmor profile to coredns
Change-Id: Iae8b1b2c2b51b5f18567e46ae4aae55ca4c1d279
2020-02-05 15:16:33 +00:00
Sean Eagan 6bc3847265 Fix coredns checks
The readiness probe and helm test currently rely on
the return code of `dig`, which doesn't fail for
NXDOMAIN, which means they are not checking that
the names are actually resolved. This moves to using
`host` instead which does check this.

This also removes the checks for kubernetes etcd
domain names, since that doesn't get deployed until
after coredns.

Change-Id: I0b459f52663c936ed4b8b216614c5b4824a0713f
2019-12-02 11:49:40 -06:00
Samuel Pilla c76d317fbc Upgrade coredns version for k8s 1.16
Change-Id: I3b8a9e92ddb5b1f9cd42bb7af23c9999da627ac5
2019-11-11 16:34:43 +00:00
Egorov, Stanislav 4f0ae384a8 CoreDNS probe refactoring and version uplift
This is uplift for CoreDNS to version 1.6.2

Upstream CoreDNS image has no tools inside like wget/dig and can't
be used as is because pod probes will fail. Coredns pod has
Liveness/Readiness probes which are just a shell script to run
wget/dig to determine that CoreDNS is functional. So, decided
to add tools for probes in promenade image and do refactoring.

New endpoints for health check are running in side-car:
/externalhealth - to do the same check like previous shell script,
/selfcheck - to do check of the health of side-car itself.

Main container should be pointed to check endpoint provided by
side-car container.

Change-Id: Ib7fcf309b6cc34a86eeeec6e2109988cfa862955
2019-10-16 12:04:33 -07:00
Zuul 78f76b6ecd Merge "Add release uuid annotation to POD spec" 2019-06-26 13:33:19 +00:00
Kumar, Nishant(nk613n) 75d3a86234 Add release uuid annotation to POD spec
Change-Id: Id4a96de7da9233589b54217e04a346281eaea68c
2019-06-25 14:55:05 +00:00
Zuul 59c27d76ab Merge "Coredns: Add pod/container security context" 2019-06-21 20:26:08 +00:00
Dejaeger, Darren (dd118r) d46d4bf85c Add node selector to test pods
This PS looks to add a node selector into the test pod's spec.

Change-Id: I438a9bf08f6ef6c4d8961f9197928b8b17cfbbd2
2019-06-21 10:04:38 -04:00
pd2839 42cc2a67a7 Coredns: Add pod/container security context
This updates coredns chart to include the podsecurity context
on the pod template

This also adds the container security context to set
readOnlyRootFilesystem to true

Change-Id: Ib44e7b9e5d0ccc642ee095062f3aefcfef2a98f8
2019-06-20 19:56:36 +00:00
Matt McEuen ce6f253432 Change CoreDNS from Deployment to DaemonSet
CoreDNS is critical to cluster operations, and is also a very lightweight
service.  This change makes the CoreDNS service deployable as a Deployment
(current behavior), a DaemonSet, or both simultaneously.  This allows
DNS to be easily configured to run on all nodes (or all control
plane nodes if desired) for high availability of the service and
resiliency of the cluster.

The "deplyoment and daemonset" behavior can be used to provide an
uninterrupted migration path from a Deployment-based environment
to a DaemonSet-based one.

Change-Id: I58c3e62ac4892a4d9374d99eefe8055865cebf1e
2019-06-06 08:14:56 -05:00
Zuul 2741ea1f90 Merge "Use apps/v1 k8s controllers and add labels" 2019-04-24 13:08:37 +00: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
Matt McEuen 56da0a0264 CoreDNS: remove external liveness dependency
This removes an external dependency from the default
liveness check.  Previously the coredns liveness probe
would attempt to resolve both an internal and external DNS
name to ensure DNS is working properly.  In practice, however,
external DNS resolution errors tend to be the result of
external networking issues, which won't be solved by deleting
and recreating the coredns service pod (which is the result
of the failed liveness probe).

If extneral name resolution is desired, it can still be
specified in the coredns chart override list.

Change-Id: Ife0d8ebab7bd298e1429bc23140c291e129ac9f5
2019-04-22 15:12:13 -05:00
Matt McEuen e4cab73d0f Update to Kubernetes 1.11.6
This change updates the following components in the Promenade charts,
docs, and example bootstrap configuration:
  Kubernetes 1.10.11 -> 1.11.6
  CoreDNS 1.1.2 -> 1.1.3 (per k8s 1.11 recommendations)
  Etcd 3.2.14 -> 3.2.18 (per k8s 1.11 recommendations)
  Tiller 2.10.0 -> 2.12.1 (per Helm k8s support)

This change has been tested by the Promenade resiliency gate.

Change-Id: Ia70de212dd2d50c6638578b92c750a4d5c791229
2019-02-05 17:29:59 -06: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
Dmitrii Kabanov 8bdc4cfe8e CoreDNS: add configurable replicas
This patchset makes possible to set/update the quantity of replicas
for CoreDNS through the variable in values.yaml.

Change-Id: I9a6ad0f7f2fe95b7d8cfd2ac5f4c6e235e8bb1a4
2018-10-04 10:44:28 -07:00
Mark Burnett 8fee9322ab Fix incorrect use of wget in CoreDNS health
The previous command created a file in /health, which caused the check
to fail after the first run.

Change-Id: I2150d40e917567a4072a1565c1b96089f3d6fd2b
2018-06-14 10:34:42 -05:00
Mark Burnett faf5a9a2d0 Expand CoreDNS liveness/readiness probes
This adds direct name resolution as part of these checks.  We have
experienced an issue with older versions of the proxy plugin that
resulted in coredns pods unable to resolve upstream names, but passing
health checks.

Change-Id: I9241b78490b4ae1640fb028c8c32bb179bf4e8ec
2018-06-11 03:07:19 +00:00
anthony.lin 6e81ed7b40 Update Labels - Application/Component
1) Kubernetes Template (Bootstrap)
2) Other charts within Promenade Repo

Change-Id: I872802112587bdff84d3630a5b2542dc4b3f77f8
2018-05-30 22:56:15 +08:00
Anthony Lin 5f608430dc Add Labels for Application/Component - CoreDNS
Add application and component labels for CoreDNS

Change-Id: I05372334cd769528648a1453a8ced23e7bf968da
2018-05-16 01:45:59 +00:00
Mark Burnett 8a7791e13a Bump Kubernetes version from 1.8.6 to 1.10.2
* Updates version references
* Increase memory of test VMs due to higher usage with bump
* Move etcd chart scripts from /tmp to /tmp/bin
* Remove certificate signing options for controller manager
* Remove -a from `kubectl get pods`, since that is deprecated in 1.10
* Shorten liveness/readiness probe times for CoreDNS

Change-Id: I16db0370f1c619e16002dd58e29025eb1538691f
2018-05-04 09:21:18 -05:00
Mark Burnett 0a5c68ffbf Uplift CoreDNS from 1.0.5 to 1.1.2
Also switch to using the forward plugin for upstream servers.

Change-Id: I91d89fc28384e47444c0c35683a0accf81a4695d
2018-05-02 14:21:50 -05:00
Scott Hussey 1326e43417 Add configmap hash to CoreDNS deployment
- This should force pod restarts when the coredns core file
  changes

Change-Id: I5bd34373f9846476e45b7b39ae170a8868997906
2018-04-13 14:57:47 -05:00
Scott Hussey ccd372a974 Resource limits on Promenade charts
- Update Makefile to more closely match UCP standards
- Add resource limits to any Pods missing them

Change-Id: Ia791a6b207c2baca7dd3141be71aef513c916661
2018-03-29 08:52:56 -04:00
Mark Burnett 09cdb0459d Add node selector to coredns chart
Change-Id: I5ffb775ed4d78ca0ee0badfca04a6d4383c0085e
2018-03-23 16:30:09 -05:00
Scott Hussey 25062d253a Merge "Use OSH-infra Calico chart" 2018-03-08 12:08:36 -05:00
Mark Burnett dbd08fd2f2 Use OSH-infra Calico chart
* Updates examples

Change-Id: I66d1acfb249e3f3a45f0c3f9465f70f69ea82113
2018-03-05 10:18:04 -06:00
Sean Eagan 2b50eee0b2 Prometheus monitoring for CoreDNS
Adds a values.yaml api to the CoreDNS chart for configuring prometheus
monitoring service annotations.

Change-Id: I54cee618fc7a0b2f45fe1ef0e9820feccdc73cae
2018-03-05 08:44:14 -05:00
Mark Burnett c1bbf17dd8 Add helm test for CoreDNS
Also brings some default configuration options in line with expectation.

Change-Id: Ifef06e447dc7e75198cb0bd293e3b4855ef538d3
2018-02-13 14:54:28 -05:00
Mark Burnett ff3787c2ad Use HAProxy for apiserver discovery
This removes the reliance on coredns for APIserver discovery, allowing
a simpler configuration that is compatible with corednx 1.0.x

Change-Id: Ia3b7b5627c16ec47af6b0d6d5e8dee2674e9b1ee
2018-02-08 14:30:35 -06:00
Pete Birley 0864631b26 K8s: bump version to 1.8.6
This PS bumps the version of K8s used to 1.8.6 which adds:
 * prometheus metrics for the PodSecurityPolicy admission controller
 * Numerious scheduler fixes
 * fixes for overlay2 metrics
 * fixes for podSecurityPolicy

Change-Id: Ib46ea1a68c9f34f83b04976f49230ae67f811e66
2018-01-08 22:58:11 -06:00
Mark Burnett b09c69a18a Add initial Makefile
This add target a target for building and linting charts.

Change-Id: Ie349436d8bf50929e26ed43cc53fdc599a2acd9d
2017-10-31 12:46:23 -05:00
Mark Burnett 9cf8123474 Add conformance test
Also fixes the two conformance issues exposed by Sonobuoy!

Change-Id: I0b6bba2a47c7474983414399406d0a68657abb8d
2017-10-26 07:48:16 -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