Commit Graph

63 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
SPEARS, DUSTIN (ds443n) 7f15516372 Update k8s to v1.29.2
Change-Id: I8d8d38e62fd13884afb0d0c4d027d81879cbe313
2024-03-07 16:41:50 -05:00
SPEARS, DUSTIN (ds443n) 7ce7301476 Update ETCD to v3.5.11
Since after v3.5.6 etcd-io switched to a
distroless base image. Etcd anchor pods
are now using etcd-utility and etcd is
running a sidecar for health checks.

Change-Id: I198dca1209097de4d60a53a7568f0c4790679599
2024-02-08 10:35:33 -05:00
SPEARS, DUSTIN (ds443n) 89d9d907b7 Upgrade kubernetes to v1.29.0
Change-Id: I2d62dac82d6b9d738c3aa71e541e89eddeb5ae87
2024-01-08 13:39:28 -05:00
SPEARS, DUSTIN (ds443n) 903b1363db Update k8s to v1.28.4
Change-Id: I300aa19f78206712b08d246cabbe5043b8abf509
2023-11-30 13:42:20 -05:00
Ruslan Aliev a5a7931d65 Change operator image tags to airshipit space
Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
Change-Id: I7529e338266a45872875362546130ce02df1c735
2023-11-21 11:28:33 -06:00
Ruslan Aliev 29405cec00 Add configurable support for armada-operator
Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
Change-Id: I22cf48839ccfd62a6ed293080fd8b90a2f31a5f9
2023-11-20 17:18:15 -06: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
SPEARS, DUSTIN (ds443n) f806f8983a Update k8s to 1.27.4
Change-Id: I782762508f5fa8206751d7b9f719bcea448efe09
2023-07-31 13:55:03 -04:00
SPEARS, DUSTIN (ds443n) 3c68fb2281 Update k8s to 1.27.2
Bump k8s from 1.27.1 to 1.27.2

Change-Id: If171853f06d970a8bcfaa83098e407de9b4bc041
2023-06-02 15:28:33 -04:00
SPEARS, DUSTIN (ds443n) 1717ed84e5 k8s upgrade to 1.27.1
upgrades kubernetes client to v1.27.1
upgrade etcd to v3.5.6

Change-Id: Iaf287353425aa6263a81617890a2ca3c2f2e4281
2023-05-17 10:32:04 -04:00
SPEARS, DUSTIN (ds443n) 70dd0c8599 Remove deprecated controller-manager flag
Additionally update all images from k8s.gcr.io to registry.k8s.io

Change-Id: I0240ee0bf5d23d035126a81318f57b240f5af402
2023-04-18 15:02:30 -04:00
SPEARS, DUSTIN (ds443n) 27a8b0d798 k8s upgrade to 1.26.0
upgrades kubernetes client to v1.26.0
remove installation of containerd during genesis.sh to prevent containerd downgrade
update bitnami kubectl image to image with curl installed for readiness check

Change-Id: I3afd5a7e7211bae3f52263167a62a012da0619a0
2023-03-20 13:16:48 -04:00
Ruslan Aliev c10165c144 K8S upgrade 1.24
Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
Change-Id: Iaa0c5f57ac621f2b91f525da423db0acd9d8ea99
2022-09-14 19:34:02 -05:00
Ruslan Aliev e207bbe966 k8s upgrade to v1.23.7
Address changes and deprecations in Kubernetes v1.21=>v1.23

controller-manager:
* --authorization-kubeconfig and --authentication-kubeconfig must be set
* liveness/readiness probes must use HTTPS
* the default port has been changed to 10257

kubelet:
* --dynamic-config-dir has been deprecated, will not move to GA
* --cni-bin-dir has been deprecated, will be removed with dockershim
* --cni-conf-dir has been deprecated, will be removed with dockershim
* --network-plugin has been deprecated, will be removed with dockershim

https: //github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.23.md#deprecation
https: //kubernetes.io/docs/tasks/administer-cluster/reconfigure-kubelet/
https: //github.com/kubernetes/enhancements/tree/master/keps/sig-node/281-dynamic-kubelet-configuration
Change-Id: Ia996d7c14d81d1d8b8067f11c02ffb4ce90eb49a
2022-06-29 00:21:45 -05:00
francisy 3cac5cbde0 Promenade Enhancement
Update charts in Promenade to Kubernetes version 1.21

Change-Id: Iab6d10b384a8be3a4b4d2357a51b35ab93a797b0
2022-01-10 14:04:15 -05:00
Sean Eagan 53d0ecb7f9 Remove Tiller
Depends-On: https://review.opendev.org/c/airship/armada/+/812047
Signed-off-by: Sean Eagan <seaneagan1@gmail.com>
Change-Id: Ic1eddda3639d629a94bb39f93bf48da54445469f
2021-10-06 13:16:34 +00:00
anthony.bellino e79323f5e1 Uplift tiller and helm install script to v2.17.0
Uplifting tiller image to ghcr.io/helm/tiller:v2.17.0 since
v2.16.1 is not available anymore

Update the helm installation script to download and install v2.17.0

Change-Id: I92a7fe096a32377e155a298dc258bc2f4b93a2c1
2021-08-09 09:37:48 -07:00
Thirunavukkarasu Palani 9cd261294b Update airship images to bionic versions
Update example manifests to use latest bionic based armada and deckhand images to fix the zuul gates.

Change-Id: Ic70b7269a73a3b34608442ee71620358fa8785c2
2021-06-10 18:10:32 +00:00
Phil Sphicas ae6782b452 Kubernetes: Uplift to v1.20.5
Uplift Kubernetes images and binaries from v1.19.7 to v1.20.5. No config
changes.

Change-Id: If2a8c9169c831a001205e8aa947df7fc00a1e658
2021-05-03 17:21:30 +00:00
Phil Sphicas 5bb58863b6 Uplift Kubernetes to v1.19.7
Change-Id: I2ac28e2383cb9c4d84d09c23c02a087db714803e
2021-02-11 17:23:32 +00:00
Phil Sphicas 023e7d4d7d Uplift etcd to v3.4.13
Change-Id: I1e4452f3bd9ff434b0b68ddbbdc63c9d600f6932
2021-02-11 17:23:32 +00:00
Phil Sphicas 5323ca2710 Deploy with standalone kubernetes images
Replace all usages of the hyperkube image with standalone container
images for apiserver, controller, scheduler, and proxy.

Change-Id: I44392c7900a72edd35bc5afa1c50bec8e04f927f
2021-02-11 17:23:32 +00:00
Chris Wedgwood 630e504e3e Update to container image repo k8s.gcr.io
gcr.io/google_containers/ no longer contains some of the image
versions we require, use the new location.

Change-Id: I8f9a976a35ca632d785dd4d05f2a55713bde8c3e
2021-01-11 17:42:31 +00:00
dt241s@att.com 97427904bc Upgrade etcd to 3.4.3
1) Updated all reference of etcd Imags to 3.4.3

Change-Id: I629af43eb7e9689af3237361cf7a41fc35ed364c
2020-08-25 17:22:15 +00:00
Mahmoudi, Ahmad (am495p) c302a083a6 Upgrade k8s from v1.17.3 to v1.18.6
This ps makes following changes to upgrade kubernetes from v1.17.3
to v1.18.6.
  - Updated all references to k8s images to 1.18.6
  - Updated command options and api object and versions based on
    k8s 1.18 release notes:
      https://kubernetes.io/docs/setup/release/notes/
  - Uplifted uwsgi to 2.0.19.1 to align with other airship
    components, and to bring in fixes and improvements.
  - Added build-essentials and python3-dev packages to pass the zull
    gate, which was looking for a c compiler.

Change-Id: I1160d1e6e2f02a0524043641b9296ea39edb301e
2020-08-19 15:56:45 +00:00
Smruti Soumitra Khuntia da7c79f6b9 Upgrade Hyperkube version from 1.16.2 to 1.17.3
Changes to use to Hyperkube v1.17.3 instead  of
v1.16.2

Change-Id: I442694afad7f718dcd4db7fa7bb2c60beec8bdaa
2020-05-22 15:23:37 +00:00
Samuel Pilla b77c6fe637 Upgrade Hyperkube version for k8s 1.16
Upgrade Hyperkube to v1.16.2

Change-Id: I3f17ac007e3704c1f4ae2f79e0c41704074c2010
2019-12-06 18:20:13 +00:00
Samuel Pilla 62d2cef638 Upgrade Tiller version for k8s 1.16
Upgrade Tiller to v2.16.1

Change-Id: I38d5d6921ac4cc020661e1c3471e25190baa500a
2019-12-03 09:38:16 -06:00
Doug Aaser 4cd75e26a0 Uplift etcd to v3.4.2
Uplift etcd to v3.4.2
Also uplifts calico in the gate so that it works with etcd v3

Change-Id: Iac93cadfad813223f9364e513fae00afa178113e
2019-11-25 17:12:00 +00:00
Egorov, Stanislav ba8309a7bc Uplift etcd to 3.3.12
Passed promenade resiliency build
in combination with uplifted CoreDNS
and separately.

Change-Id: If2b13ee00dfdf670c418d7cca169f633f84bf16a
2019-10-01 09:26:52 -07:00
Sean Eagan e5c65f8cd9 Add configuration for tiller storage
This adds a parameter to the genesis schema
to configure the tiller storage [0] type. For backward
compatibility, by default the parameter is not passed
to tiller, thus relying on the upstream default, which
is 'configmap'.

[0]: https://helm.sh/docs/using_helm/#tiller-s-release-information

Change-Id: I045f8b57f695385b1a502a8f13f61a58d400784e
2019-09-23 14:43:45 -05:00
BARTRA, RICK 19169bb458 Run haproxy pod with the nobody user (65534)
To be able to run with the nobody user, an init container
is used in the haproxy-anchor pod to change the ownership and
permissions of '/host/etc/promenade/haproxy'. Security conext
was included in 'etc/kubernetes/manifests/haproxy.yaml' and
'promenade/schemas/Genesis.yaml' schema was updated to included
run_as_user property for haproxy pod.

Change-Id: Id248face0be43c417284ceb781997634a9c4dd5e
2019-09-11 16:18:30 -05:00
Sean Eagan 1e133b8e9f Fix armada and deckhand image tags
Those components are now publishing `master-ubuntu_xenial` rather
thans `master` tags, so promenade was using out of date versions.

Change-Id: Ic2a2634fe8a4c051984236d04a90e6dd203cdd2b
2019-08-26 09:12:49 -05:00
Scott Hussey 8649fbd3f5 Make aux etcd more conservative
- Currently the auxiliary etcd instances remove themselves
  after a single non-genesis member joins the cluster. This
  leaves the cluster susceptible to non-recoverable disruption
  until a 3rd member joins. This change makes the auxiliary control
  script wait for a configurable number of non-auxiliary members to
  join before removing the auxiliary members.

Change-Id: Ib4968b533e8433e3c40a845d086c7078e807c3e2
2019-07-03 13:20:02 -05:00
Sean Eagan 184d114062 Move to tiller 2.14.0
This version fixes manifest validation [0], so a couple invalid
manifests are fixed in this patchset as well.

[0]: 32d7f1a3fc

Change-Id: I0cbdf21cf016271bef2d8a541687ce3ab28081ce
2019-05-20 14:17:46 -05:00
Zuul 105fa608d7 Merge "Add optional external_ip to promjoin" 2019-04-25 21:25:48 +00:00
Scott Hussey 6475efd5da apiserver support for etcd encryption
- Support encrypting data persisted to etcd
  by kube-apiserver

Change-Id: I47ca634961e66e48dadc8f13d1c84748ab4e2fb9
2019-04-24 13:26:59 +00:00
Matt McEuen c18e3a8d9d Add optional external_ip to promjoin
Adds an optional external_ip parameter to the prom join script API,
and to the Genesis and KubernetesNode schema.
This is used to populate the host's IP address in its /etc/hosts
file if present, according to normal hosts conventions.
If the value is not passed to prom-join or is absent from a
Genesis or KubernetesNode document, then the hosts file defaults
to the current loopback IP for the hostname (business as usual).

Change-Id: I58dc219923b18aaf9c83453b896ce509664d8766
2019-04-23 08:45:34 -05:00
Drew Walters c178634b89 tools: Update Helm to v2.13.1
Helm v2.13.1 has been released [0]. This change uplifts Helm to v2.13.1
and restores usage of the latest Helm toolkit to match other Airship
projects.

[0] https://github.com/helm/helm/releases/tag/v2.13.1

Depends-On: https://review.openstack.org/647812
Change-Id: I4299a8736e0cedf7b15950614a4d72fcfd893a2d
2019-03-28 15:22:05 +00: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
Mark Burnett 04da7585ff Refactor API server
This change accomplishes 2 primary things:
1. It generalizes work to enable the EventRateLimit admission plugin.
2. It restructures the anchor so that during an upgrade an "old" anchor
   does not try to coordinate the injection of "new" data from
   configmaps/secrets.

It also includes these ancillary changes:
* Clean up apiserver argument specification in the chart.
* De-duplicate and realign apiserver arguments in bootstrapping templates.

It has the side effects of:
* Adding a new field, ".apiserver.arguments" to the Genesis config,
  which will be the preferred way to configure bootstrapping apiservers
  going forward (in lieu of command_prefix).

Change-Id: I33cfe80ee8e29cd79e479a7985e3c098a2288fda
2019-01-10 16:31:50 -06:00
Mark Burnett cdd1a6bd28 Update Kubernetes to 1.10.11
Change-Id: If1479f7a5d0a8ea459eed39172a0bc1f89935e36
2018-12-18 11:32:28 -06:00
Zuul a5a17ffe6d Merge "Add EventRateLimit admission controller" 2018-11-05 20:27:05 +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 178193be84 Add EventRateLimit admission controller
Add the EventRateLimit admission controller, to allow operators to
define rate limits for the k8s API server at the server, namespace,
or user account level.

This also
* cleans up some of the parameters passed into the API server
* replaces the deprecated --admission-control parameter
* applies --repair-malformed-updates consistently, incl examples
* removes unused batch/v2alpha1 runtime config
* https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/
* removes duplicate --service-cluster-ip-range setting

This PS adds EventRateLimits to the bootstrap and anchor API
servers; future work will need to add it to the Keystone
Webhook API server.

Change-Id: I32a2d4add880e50f470e4cb0687e20d16e6e926d
2018-10-27 15:35:43 -05:00
Mark Burnett d7c7a47c61 Improve security of default and example configurations
* Enabled the NodeRestriction Admission Controller.
* Configured the default terminated-pod-gc-threshold in the
  controller-manager.
* Disable repair-malformed-updates.
* Disable anonymous-auth in the Kubelet.
* Further restrict permissions for contents of /etc/kubernetes and
  /var/lib/etcd.

Change-Id: I112652a5aa7bde054de253234f65755d90ab65ad
2018-09-26 11:49:15 -05:00
Mark Burnett 0233c30ffb Update tiller version to 2.10.0
This also makes a corresponding update to the Makefile to address a bug
with which $(HELM) is being used that was exposed during local testing.

Change-Id: I08da45c1f232960c58ab482053befed83da6fdd6
2018-08-30 15:54:07 -05:00
Mark Burnett 7797aadb8b Update tiller to be compatible with latest Armada
Change-Id: If5d2527240948c0628dfbb76b658f7ad05395ab5
2018-07-24 15:39:54 -05:00
Mark Burnett 9e5fb310b9 Add missing storagePolicy entries
Change-Id: I94e95f821d60a176116a333a1d1cf9afbe2f7f0b
2018-07-23 11:17:41 -05:00