1
0
mirror of https://github.com/rancher/rke.git synced 2025-07-19 01:36:32 +00:00
Commit Graph

667 Commits

Author SHA1 Message Date
Ryan Sanna
c14c39f8c5 reduce rewrite workers, add additional logging around secrets retrieval 2020-12-22 12:40:17 -07:00
Ryan Sanna
49e158a974
Revert "Revert "Encryption Key Rotation Changes"" 2020-12-14 11:51:46 -07:00
Ryan Sanna
92573270c7
Revert "Encryption Key Rotation Changes" 2020-12-09 13:49:27 -07:00
Ryan Sanna
e42ff49fec key rotation as part of ClusterUp, more robust secrets rewrite, improved logging 2020-12-08 12:00:32 -07:00
Nick Gerace
da6d9dcf9e Set default http backend to be optional
Set default http backend to be optional for ingress nginx. It will be
enabled by default.
2020-12-03 14:53:51 -05:00
Sebastiaan van Steenis
99af2bdf95
Merge pull request #2355 from superseb/add_tolerations
Add tolerations option to addons
2020-12-03 19:20:54 +01:00
Sebastiaan van Steenis
a1eaee0312
Merge pull request #2322 from superseb/retry_tcpportcheck
Add retry to TCP port check
2020-12-02 21:39:31 +01:00
Sebastiaan van Steenis
4e31add8fe Add tolerations option to addons 2020-11-26 17:29:46 +01:00
Kiran Shastri
4f062997bb Introduce ACI CNI network provider
ACI CNI supports k8s versions 1.18+
Added template and arguments for ACI CNI
Disable cloud options for ACI.
Separate generated code into another commit

Signed-off-by: Kiran Shastri <shastrinator@gmail.com>
(cherry picked from commit e94c54005e)
2020-11-17 15:29:03 -05:00
Sebastiaan van Steenis
a252645797 Add retry to TCP port check 2020-11-09 18:35:58 +01:00
Jacob Payne
04ea70ee3b updated NodeUpgradeStrategy.Drain to use pointer 2020-10-26 09:59:49 -07:00
kinarashah
8c3c618b63 set default ingress network mode for both rancher and rke
Problem:
Setting defaults for ingress in parse logic works only for
rke standalone but not when rancher calls rke using ClusterUp.

Solution:
Setting them during the cluster defaults logic
2020-10-24 13:09:38 +02:00
Sebastiaan van Steenis
16f3089220
Merge pull request #1911 from ibrokethecloud/master
Allow addons.go to parse http and https ports for ingress controller
2020-10-22 20:54:09 +02:00
Gaurav Mehta
5a63de09bc Updated cluster/addons.go to allow it to parse and send new http_port and https_ports to the ingress template
Fixed up yaml import package

Updated rke ingress addon to support a new field hostNetwork. Users can use this now to run ingress controller on overlay network only

Ported additional ingress types changes into types/rke_types

Fixed linting errors related to variable names in addons.go and rke_types

Changed types for hostNetwork and http/https ports

Added validation to check http/https ports are different

Changed rke_types for additional spec in ingressConfig. Changed validation and default logic accordingly
2020-10-21 19:00:04 +11:00
Sebastiaan van Steenis
422dfff0fd Check etcd cluster health after member delete 2020-09-29 13:53:45 +02:00
Sebastiaan van Steenis
b3ca1f8327 Don't advertise etcd port 4001 in v3.4.13 and up 2020-09-23 09:27:51 -07:00
Darren Shepherd
abf63e4a08 Fix panic when IgnoreDockerVersion is nil 2020-09-18 10:17:44 -07:00
Sebastiaan van Steenis
12b4dcaf59 Remove statefile for dind remove 2020-09-08 21:33:06 -07:00
Chris Kim
526ac7b065 Add CanalControllers to the systemImagesDefaultsMap
Signed-off-by: Chris Kim <oats87g@gmail.com>
2020-09-08 16:17:30 -07:00
Chris Kim
0522b664ac Add CanalControllers to support Canal v3.14.0+
Signed-off-by: Chris Kim <oats87g@gmail.com>
2020-09-04 17:49:39 -07:00
Vincent Batts
d77ee0d53f
cluster/plan: don't relabel /lib/modules by default
As this logic went, it would relabel /lib/modules, except on enterprise
linux and when SELinux is enabled (even just permisive).

Flatcar Container Linux defaults to SELinux on, but permisive, and
`/lib/modules/` is a symlink to the read-only `/usr`.
So `./rke up` would fail on attempting to relabel /usr.

The prior work around is to set `SELINUX=disable` in
/etc/selinux/config.

Signed-off-by: Vincent Batts <vbatts@kinvolk.io>
2020-08-21 16:17:00 -04:00
Luther Monson
de19c42611 added windows path cleaner 2020-08-20 13:41:18 -07:00
Luther Monson
23d2341172 updates for prefix path 2020-08-20 13:40:21 -07:00
Luther Monson
7d6181a290 add win_ params for prefix path, env, args and binds
Problem: When building a hybrid cluster with windows nodes there is only
a single set of overrides you can use per service. This limits
configuring the node as service args and prefix_path sometimes need to
be specific for the different OS.
Solution: Add support for `win_` prefixed parameters for cluster level
`path_prefix` and service level `extra_args`, `extra_env` and
`extra_binds`. Params will work as before, passing in the non `win_`
prefixed params, IF you set the `win_` prefixed params it willy only use
those meaning you will need to duplicate the params in both config
sections of your rke cluster yaml.
2020-08-20 13:39:57 -07:00
Sebastiaan van Steenis
f251e3ca92 Change file copy method for state file 2020-08-14 18:42:37 +02:00
Sebastiaan van Steenis
6761a1a3e1 Add restore flag to use local state 2020-08-04 13:13:43 +02:00
Sebastiaan van Steenis
1883a4c3bf
Merge pull request #2152 from superseb/snapshot_include_state
Able to include and extract state file in snapshot
2020-07-24 20:24:28 +02:00
Sebastiaan van Steenis
9bca29befb Able to include and extract state file in snapshot 2020-07-21 11:09:37 +02:00
Darren Shepherd
c405e6ea1b Remove references to rancher/types 2020-07-11 23:29:33 -07:00
Sebastiaan van Steenis
80d7dcc6e9 Revert kubelet fix as Docker 19.03.9 has fix 2020-06-09 19:20:30 +02:00
rawmind0
8ff29b617f Updated api bool fields with default=true to *bool. Go files 2020-06-02 20:15:53 +02:00
aiyengar2
94e9c1a01c
Merge pull request #2079 from aiyengar2/revert_encryption_by_default
Revert default encryption in k8s 1.18
2020-05-29 16:30:23 -07:00
Sebastiaan van Steenis
e9819eb069
Merge pull request #2058 from superseb/upstreamdockerselinux
Dont relabel volumes on upstream Docker & SELinux
2020-05-29 15:57:39 +02:00
Arvind Iyengar
6e194ab1a6 Revert "Add support for k8s 1.18"
This reverts commit 763a896380.
2020-05-27 12:48:10 -07:00
Sebastiaan van Steenis
2b226dc314
Merge pull request #1990 from superseb/remove_user_addons
Remove user addons when not present
2020-05-19 22:56:22 +02:00
Sebastiaan van Steenis
0c063587ec Dont relabel volumes on upstream Docker & SELinux 2020-05-19 21:50:24 +02:00
Arvind Iyengar
763a896380 Add support for k8s 1.18
This commit changes default settings for k8s 1.18 to have encryption at rest by default: https://github.com/rancherlabs/rancher-security/issues/412
2020-05-12 14:13:11 -07:00
Sebastiaan van Steenis
d91e7efd2d Remove user addons when not present 2020-03-30 21:18:09 +02:00
Darren Shepherd
ecc629f2c3 Refactor to new client-go API in k8s 1.18 2020-03-27 10:55:19 -07:00
Kinara Shah
b9c2d893bc
Merge pull request #1987 from kinarashah/lgt
log service options data in trace
2020-03-27 10:15:08 -07:00
rajashree
00f6567714 Use v3 type for addons updateStrategy 2020-03-26 15:52:57 -07:00
kinarashah
ef34e40165 log service options data in trace 2020-03-26 10:03:41 -07:00
Sebastiaan van Steenis
4adf2c9b68
Merge pull request #1980 from superseb/re_try_logging
Standardize (re-)try logging
2020-03-23 13:30:37 +01:00
Sebastiaan van Steenis
5f46c748c0 Standardize (re-)try logging 2020-03-21 18:34:16 +01:00
rajashree
1ecf6effbf Reconcile workerplane for NotReady control hosts 2020-03-20 13:37:37 -07:00
Sebastiaan van Steenis
d65d72ae6d Enable kube-api audit log for new k8s versions 2020-03-15 13:55:47 +01:00
rajashree
fc3709507d Reset error to nil if lister works on retries 2020-03-13 15:16:25 -07:00
rajashree
6b94c4a3fb Retain user-configured dnsConfig fields when provider is not set 2020-03-12 23:56:11 -07:00
rajashree
6b25bcf3e0 Remove ignore-upgrade label from zero downtime upgrade 2020-03-10 23:36:17 -07:00
rajashree
bb6873ce48 Addresses following issues:
1. Compare maxUnavailable with powered off hosts before attempting to reconcile
NotReady hosts
2. Include powered off hosts as failed hosts for controlplane upgrade to return error
3. Change coredns upgrade strategy. With addons changes it was changed to have the k8s
default value for a deployment of 25% maxUnavailable and maxSurge. This commit changes it
back to maxUnavailable of 1 to avoid dns addon upgrade issues
2020-03-07 14:22:35 -08:00
Darren Shepherd
1e34d2b464 Remove n^2 algorithm. At 5000+ nodes plus this gets to be a real problem 2020-03-06 08:52:56 -07:00
Sebastiaan van Steenis
eaf643e6a2
Merge pull request #1945 from superseb/move_log_trace
Add logging structs/file content to trace loglevel
2020-03-05 22:19:22 +01:00
Sebastiaan van Steenis
5c7daf4fb1 Add logging structs/file content to trace loglevel 2020-03-05 19:42:05 +01:00
Chris Kim
97371fe82d Add custom flexvolume capabilities to canal and calico 2020-03-05 08:18:40 -08:00
Sebastiaan van Steenis
64f0d7808d
Merge pull request #1872 from Lucaber/fix/cluster-state-log
Fix log output of full-cluster-state configmap name
2020-03-05 14:56:56 +01:00
Rajashree Mandaogane
b9b29be0e5
Merge pull request #1943 from mrajashree/rename_label
Rename ignore label and return error on controlplane failure
2020-03-04 15:27:16 -08:00
rajashree
c61d531af1 Rename ignore label and return error on controlplane failure 2020-03-04 15:20:48 -08:00
Sebastiaan van Steenis
31a3005733 Add support for nodelocal DNS 2020-03-03 18:09:18 +01:00
rajashree
d420881c41 Check role before including host in inactive host list 2020-03-01 19:03:07 -08:00
kinarashah
12f88f55db error out if service options are not found
it's unexpected to see empty service options, but node plan shouldn't be generated
in those scenarios
2020-02-28 11:21:41 -08:00
rajashree
e27a05f8b1 Attempt upgrade on NotReady hosts 2020-02-26 14:14:42 -08:00
Dax McDonald
d7a4f2d2c3 Fix formatting 2020-02-26 12:08:10 -07:00
Rajashree Mandaogane
6664be5e3b
Merge pull request #1912 from mrajashree/zero_downtime_bugfixes
Accept label to ignore nodes during upgrade
2020-02-24 10:06:57 -08:00
Daishan
d2d72767a7 Move rke away from kdm vendor 2020-02-24 10:14:25 -07:00
rajashree
968a399f26 Accept label to ignore nodes during upgrade
RKE does a cluster scan to find the unreachable hosts, and if that number
is same as or exceeds maxUnavailable, upgrade won't proceed.
This commit introduces a label users can provide for their nodes so they
don't get counted as unavailable and are excluded from upgrade.
This commit also includes a couple of bug fixes
2020-02-22 14:23:47 -08:00
rajashree
4e38cdf825 Parse updateStrategy, replicas and autoscaler fields 2020-02-18 09:01:29 -08:00
Rajashree Mandaogane
92714e5523
Merge pull request #1800 from mrajashree/workers_upgrade
Change RKE upgrade logic for zero downtime
2020-02-06 11:03:29 -08:00
rajashree
11678a3f98 Change RKE upgrade logic for zero downtime 2020-02-05 16:19:47 -08:00
Sebastiaan van Steenis
56d4c1b937
Merge pull request #1888 from superseb/local_s3_snapshots_check
Determine etcd s3 snapshots by s3 config presence
2020-02-05 10:40:53 +01:00
Murali Paluru
b7140ab74b change the apiVersion of eventratelimit 2020-01-30 19:14:34 -08:00
Darren Shepherd
25e7f98777 Use eventratelimit from rancher/types 2020-01-23 16:04:43 -07:00
Sebastiaan van Steenis
23e98603bd Determine etcd s3 snapshots by s3 config presence 2020-01-20 18:43:35 +01:00
Luca Berneking
1baa4b2efc Fix log output of full-cluster-state configmap name
This PR corrects the log output during `rke up`.
The output still contains the legacy configmap name `cluster-state`.
The new cluster state is saved in `full-cluster-state`.
2020-01-09 14:50:42 +01:00
Sebastiaan van Steenis
ecc658b004
Merge pull request #1845 from superseb/debug_svcoptions
Add debug logging for serviceoptions
2020-01-02 12:29:11 +01:00
Brenda Rearden
078f11b8a6 Change MTU from string to int 2019-12-23 14:10:50 -07:00
Sebastiaan van Steenis
1bcaefdacc Add debug logging for serviceoptions 2019-12-20 14:42:06 +01:00
Benjamin S. Allen
4f2c87fcd0 Remove the prefixPath from the /lib/modules bind mount for kube-proxy IPVS support 2019-12-17 14:10:38 -08:00
Sebastiaan van Steenis
3ac9cad743 Add ability to set MTU for CNI 2019-12-11 13:34:34 -08:00
kinarashah
790a8858f9 respect metadata's service options for etcd 2019-12-09 10:09:16 -08:00
Sebastiaan van Steenis
6b68be717a Deploy cloud-config file while contents are empty 2019-12-05 10:51:14 -08:00
Prachi Damle
5cf3f1c161 Revert mounting modules for windows 2019-12-04 16:29:59 -08:00
Alena Prokharchyk
2bc68c7118 Correct system image for etcd snapshot removal
when removal is executed as a part of restoration
2019-12-03 15:58:31 -08:00
Murali Paluru
b9900f3b9c change enc provider arg, update defaults for audit log config 2019-11-21 14:08:33 -08:00
Murali Paluru
843e14135f add null check for audit log config 2019-11-15 14:25:03 -08:00
Murali Paluru
b649664af8 add admission control config file arg, enable plugin 2019-11-15 14:25:03 -08:00
rajashree
c31ee1eb4b Handle unmarshal of ingressConfig's k8s native fields separately
IngressConfig fields ExtraEnvs, ExtraVolumes and ExtraVolumeMounts are k8s types.
The yaml unmarshal done in ParseConfig can't unmarshal these properly because they have
nested fields without yaml tags. This commit adds logic to unmarshal
these fields separately so all nested fields get unmarshaled too.
2019-11-15 10:54:07 -08:00
rajashree
9c1c0ea999 Accept extraEnv, volumes and volumeMounts for ingress addon
The fields for ExtraEnv, extraVolumes and extraVolumeMounts for ingress
addon refer the k8s native types EnvVar, Volume and VolumeMounts.
The k8s native types have json tags, so this commit adds a template func to
first marshal and get json encoding and then convert to yaml.
2019-11-14 10:54:00 -08:00
Alena Prokharchyk
6bc2e1e8f8 Restart api/rewrite secrets on config change 2019-11-05 09:34:46 -08:00
Alena Prokharchyk
5eaf28372b Ability to disable custom encryption 2019-11-05 09:34:46 -08:00
Sebastiaan van Steenis
adc5941fd9 Add per node kubelet server certificate 2019-10-31 15:56:44 -07:00
Murali Paluru
e811e18fb3 review comments, build failure fixes 2019-10-31 13:48:44 -07:00
Murali Paluru
bf8688e709 auditlog and eventratelimit changes 2019-10-31 13:48:44 -07:00
Prachi Damle
a1ec25375c Bind mount for ipvs provxy mode 2019-10-29 15:03:44 -07:00
moelsayed
372393ac1b Add Secret Encryption Provider Support 2019-10-29 14:10:32 -07:00
kinarashah
b9bb53ace6 fix applying AlwaysPullImages to commandArgs
Earlier we checked for AlwaysPullImages only if PodSecurityPolicy
is true clause, need both checks separately.
2019-10-22 21:48:23 -07:00
Dax McDonald
4579431ece Catch error on setNetworkOptions 2019-10-22 21:37:34 -07:00
Sebastiaan van Steenis
7c4c1324f9 Provide IP for kube-proxy if cloudprovider is set
If cloudprovider is set (not empty), set the bind address because the node will not be able to retrieve it's IP address because the nodename could be set by the cloud provider (e.g. AWS and Openstack)
2019-10-18 09:24:02 -07:00
Dax McDonald
ad678b6a32 Remove dead code 2019-10-04 15:02:14 -07:00
Dax McDonald
8022b815b3 Remove uneeded nil check 2019-10-04 15:01:53 -07:00
Rowan James
9a03d8020b fix typo: ControlPlan -> ControlPlane 2019-10-03 12:30:04 -07:00
Sebastiaan van Steenis
14827e2cdf Print proxy env vars when applying authz resources 2019-09-20 09:16:30 -07:00
Frank Mai
f45fc47dca Adjust Windows worker plan
**Issue:**
https://github.com/rancher/rancher/issues/22676
2019-09-17 12:02:22 -07:00
Dan Ramich
ecfab50fce Update apis for 1.16 2019-09-09 11:20:26 -07:00
kinarashah
9411027476 consider service options based on hostOS info 2019-09-09 11:12:33 -07:00
Frank Mai
0a170b22b7 Support to accpet new Windows service options
**Issue:**
https://github.com/rancher/rancher/issues/22470
2019-09-05 17:05:34 -07:00
chentanjun
11c49ae59f fix-up cluster/cluster.go main.go spelling-mistake 2019-09-03 12:45:20 -07:00
galal-hussein
798632b3a4 Handle missing request header ca in rotate certificate 2019-08-29 13:42:47 -07:00
rajashree
1b4f7939f1 Add nodeSelector in network and monitoring addons 2019-08-29 11:29:57 -07:00
Chris Kim
5cb6699fe3 Adding DNS Policy support for nginx ingress controller 2019-08-23 16:04:52 -07:00
galal-hussein
c5fefd5c77 Add k8s 1.16 2019-08-23 09:50:49 -07:00
orangedeng
0ef3c0849a Support node taint configuration
**Problem:**
We can not set node taints in RKE node config.

**Solution:**
Sync taints from config in `SyncLabelsAndTaints` function
2019-08-22 21:09:05 -07:00
Sebastiaan van Steenis
ac16bd8b33 Configure MCS labels if selinux is enabled 2019-08-22 13:45:04 -07:00
Frank Mai
277797df0f Support to generate Windows worker plan
- Put Windows worker plan generating back to reduce the changing from
Windows on rancher/rancher
- Prepare for rke bootstraps Windows cluster

**Issue:**
https://github.com/rancher/rancher/issues/16460
2019-08-21 20:50:31 -07:00
galal-hussein
9c5de9f577 Handle etcd changing its public IP address 2019-08-21 11:47:42 -07:00
Sebastiaan van Steenis
c3e9492716 Print original error regarding kubeconfig 2019-08-21 11:47:08 -07:00
kinarashah
734c651f16 remove support for default versioned templates 2019-08-20 13:59:03 -07:00
moelsayed
06e87ebabb Remove uncompressed snapshot after restore 2019-08-20 12:50:25 -07:00
Darren Shepherd
f8bac2c059 Update to new certs package since latest k8s dropped it 2019-08-19 11:02:43 -07:00
Dan Ramich
4902cf71d9
Merge pull request #1539 from superseb/fixcalicolabels
Use correct labels to delete calico pods
2019-08-14 10:15:58 -07:00
Denise
0c405cdc88 Revert "Handle changing public ip for etcd member delete"
This reverts commit b5d7f5dcd4.
2019-08-12 11:51:20 -07:00
Rodrigue Cloutier
aff29683b2 Fixed issue 1404: Support of configuration with no node with etcd role 2019-08-09 11:14:10 -07:00
moelsayed
a3e7bef8cd Fix ingress deployment issue with PSP enabled 2019-08-09 11:11:58 -07:00
galal-hussein
b5d7f5dcd4 Handle changing public ip for etcd member delete 2019-08-09 11:07:30 -07:00
Sebastiaan van Steenis
f1cdff2a3e Use correct labels to delete calico pods 2019-08-08 20:35:26 +02:00
Sebastiaan van Steenis
3f94e86706 Revert "Add per node kubelet server certificate"
This reverts commit b860e634db.
2019-08-08 09:49:47 -07:00
Sebastiaan van Steenis
b860e634db Add per node kubelet server certificate 2019-07-31 14:54:43 -07:00
moelsayed
fd237d9eef Fix constant kubeapi certificate regeneration 2019-07-31 14:52:46 -07:00
moelsayed
688d4aedd7 support etcd custom uid/gid 2019-07-29 17:24:16 -07:00
galal-hussein
2bc960a01c Add kubeapi proxy cluster role and role binding 2019-07-25 14:16:26 -07:00
kinarashah
b018c756b1 read serviceOptions from minor version first 2019-07-19 13:25:42 -07:00
kinarashah
217e1b41b8 generate correct default rketools
always use rke's default k8s's rke-tools, even if rancher's default k8s
changes. This is based on assumption that change in rke-tools would also
require a new rke version.
2019-07-18 14:48:48 -07:00
galal-hussein
55b1b4db7c use healthz endpoint for kubelet healthcheck 2019-07-18 14:22:07 -07:00
moelsayed
17320083e9 Use etcd service extra_env in backup containers 2019-07-17 16:42:26 -07:00
Sebastiaan van Steenis
958042817a Add Calico controller image for 3.7.4 2019-07-16 12:57:46 -07:00
moelsayed
7b5797ce18 reconcile node roles 2019-07-11 14:27:55 -07:00
moelsayed
058f196e72 Fix worker/controlplane reconcile logic 2019-07-11 14:27:55 -07:00
Sebastiaan van Steenis
63b6ece7b9 Check if certificates are present in state
Problem: If certificates are empty in cluster state (or missing rkestate file), RKE and Rancher would throw NPE.

Solution: Check if certificates are present or error out (for now this situation needs manual intervention)
2019-07-11 14:27:41 -07:00
kinarashah
f360207416 move metadata init to InitClusterObject 2019-07-08 15:40:31 -07:00
kinarashah
116b47b025 rancher pass serviceoptions and addon templates to rke 2019-07-03 10:04:27 -07:00
kinarashah
c191ed6202 use k8s version info from kontainer-driver-metadata 2019-07-03 10:04:27 -07:00
Sebastiaan van Steenis
42c097275a Add stubdomains to kube-dns 2019-07-01 09:43:31 -07:00
moelsayed
2c907f9f21 rename EndpointCA 2019-06-25 14:17:53 -07:00
Sebastiaan van Steenis
9985bc8bae Add k8s 1.15 2019-06-25 10:41:27 -07:00
moelsayed
38c31b9766 Add option to pass custom CA certificate for S3 backend 2019-06-20 15:00:00 -07:00
galal-hussein
ffa42ab900 fix file permissions 2019-06-18 12:52:42 -07:00
Sebastiaan van Steenis
88768e2527 CoreDNS default DNS provider for k8s 1.14 and up 2019-06-14 11:50:46 -07:00
Sebastiaan van Steenis
ae44a9510f Format user addon YAML before concat 2019-06-11 12:52:44 -07:00
kinarashah
1a1080a234 always use DefaultRKETools for etcd snapshot 2019-06-11 12:52:25 -07:00
galal-hussein
870c073c10 Use Internal Addresses to sort the etcd connection string 2019-05-31 09:48:35 -07:00
Zhaofeng Li
cc3c03746f Use the node's architecture to build etcd process
This allows for mixed-architecture etcd clusters.
2019-05-30 03:41:59 -07:00