mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-03 01:06:27 +00:00
Merge pull request #36229 from wojtek-t/bump_etcd_version
Automatic merge from submit-queue (batch tested with PRs 36229, 39450) Bump etcd to 3.0.14 and switch to v3 API in etcd. Ref #20504 **Release note**: ```release-note Switch default etcd version to 3.0.14. Switch default storage backend flag in apiserver to `etcd3` mode. ```
This commit is contained in:
commit
f4a8713088
@ -20,9 +20,9 @@
|
|||||||
{% endfor -%}
|
{% endfor -%}
|
||||||
{% set etcd_cluster = vars.etcd_cluster -%}
|
{% set etcd_cluster = vars.etcd_cluster -%}
|
||||||
{% set cluster_state = vars.cluster_state -%}
|
{% set cluster_state = vars.cluster_state -%}
|
||||||
{% set storage_backend = pillar.get('storage_backend', 'etcd2') -%}
|
{% set storage_backend = pillar.get('storage_backend', 'etcd3') -%}
|
||||||
{% set quota_bytes = '' -%}
|
{% set quota_bytes = '' -%}
|
||||||
{% if pillar.get('storage_backend', 'etcd2') == 'etcd3' -%}
|
{% if pillar.get('storage_backend', 'etcd3') == 'etcd3' -%}
|
||||||
{% set quota_bytes = '--quota-backend-bytes=4294967296' -%}
|
{% set quota_bytes = '--quota-backend-bytes=4294967296' -%}
|
||||||
{% endif -%}
|
{% endif -%}
|
||||||
{% set srv_kube_path = "/srv/kubernetes" -%}
|
{% set srv_kube_path = "/srv/kubernetes" -%}
|
||||||
@ -39,7 +39,7 @@
|
|||||||
"containers":[
|
"containers":[
|
||||||
{
|
{
|
||||||
"name": "etcd-container",
|
"name": "etcd-container",
|
||||||
"image": "gcr.io/google_containers/etcd:{{ pillar.get('etcd_docker_tag', '2.2.1') }}",
|
"image": "gcr.io/google_containers/etcd:{{ pillar.get('etcd_docker_tag', '3.0.14-alpha.1') }}",
|
||||||
"resources": {
|
"resources": {
|
||||||
"requests": {
|
"requests": {
|
||||||
"cpu": {{ cpulimit }}
|
"cpu": {{ cpulimit }}
|
||||||
@ -55,7 +55,7 @@
|
|||||||
"value": "{{ storage_backend }}"
|
"value": "{{ storage_backend }}"
|
||||||
},
|
},
|
||||||
{ "name": "TARGET_VERSION",
|
{ "name": "TARGET_VERSION",
|
||||||
"value": "{{ pillar.get('etcd_version', '2.2.1') }}"
|
"value": "{{ pillar.get('etcd_version', '3.0.14') }}"
|
||||||
},
|
},
|
||||||
{ "name": "DATA_DIRECTORY",
|
{ "name": "DATA_DIRECTORY",
|
||||||
"value": "/var/etcd/data{{ suffix }}"
|
"value": "/var/etcd/data{{ suffix }}"
|
||||||
|
@ -39,8 +39,8 @@ cluster/photon-controller/util.sh: node_name=${1}
|
|||||||
cluster/rackspace/util.sh: local node_ip=$(nova show --minimal ${NODE_NAMES[$i]} \
|
cluster/rackspace/util.sh: local node_ip=$(nova show --minimal ${NODE_NAMES[$i]} \
|
||||||
cluster/saltbase/salt/cluster-autoscaler/cluster-autoscaler.manifest:{% set params = pillar['autoscaler_mig_config'] + " " + cloud_config -%}
|
cluster/saltbase/salt/cluster-autoscaler/cluster-autoscaler.manifest:{% set params = pillar['autoscaler_mig_config'] + " " + cloud_config -%}
|
||||||
cluster/saltbase/salt/etcd/etcd.manifest: "value": "{{ storage_backend }}"
|
cluster/saltbase/salt/etcd/etcd.manifest: "value": "{{ storage_backend }}"
|
||||||
cluster/saltbase/salt/etcd/etcd.manifest:{% if pillar.get('storage_backend', 'etcd2') == 'etcd3' -%}
|
cluster/saltbase/salt/etcd/etcd.manifest:{% if pillar.get('storage_backend', 'etcd3') == 'etcd3' -%}
|
||||||
cluster/saltbase/salt/etcd/etcd.manifest:{% set storage_backend = pillar.get('storage_backend', 'etcd2') -%}
|
cluster/saltbase/salt/etcd/etcd.manifest:{% set storage_backend = pillar.get('storage_backend', 'etcd3') -%}
|
||||||
cluster/saltbase/salt/kube-admission-controls/init.sls:{% if 'LimitRanger' in pillar.get('admission_control', '') %}
|
cluster/saltbase/salt/kube-admission-controls/init.sls:{% if 'LimitRanger' in pillar.get('admission_control', '') %}
|
||||||
cluster/saltbase/salt/kube-apiserver/kube-apiserver.manifest:{% set params = address + " " + storage_backend + " " + etcd_servers + " " + etcd_servers_overrides + " " + cloud_provider + " " + cloud_config + " " + runtime_config + " " + feature_gates + " " + admission_control + " " + max_requests_inflight + " " + target_ram_mb + " " + service_cluster_ip_range + " " + client_ca_file + basic_auth_file + " " + min_request_timeout + " " + enable_garbage_collector + " " + etcd_quorum_read -%}
|
cluster/saltbase/salt/kube-apiserver/kube-apiserver.manifest:{% set params = address + " " + storage_backend + " " + etcd_servers + " " + etcd_servers_overrides + " " + cloud_provider + " " + cloud_config + " " + runtime_config + " " + feature_gates + " " + admission_control + " " + max_requests_inflight + " " + target_ram_mb + " " + service_cluster_ip_range + " " + client_ca_file + basic_auth_file + " " + min_request_timeout + " " + enable_garbage_collector + " " + etcd_quorum_read -%}
|
||||||
cluster/saltbase/salt/kube-controller-manager/kube-controller-manager.manifest:{% if pillar.get('enable_hostpath_provisioner', '').lower() == 'true' -%}
|
cluster/saltbase/salt/kube-controller-manager/kube-controller-manager.manifest:{% if pillar.get('enable_hostpath_provisioner', '').lower() == 'true' -%}
|
||||||
|
@ -61,7 +61,7 @@ func (s *EtcdOptions) AddFlags(fs *pflag.FlagSet) {
|
|||||||
"format: group/resource#servers, where servers are http://ip:port, semicolon separated.")
|
"format: group/resource#servers, where servers are http://ip:port, semicolon separated.")
|
||||||
|
|
||||||
fs.StringVar(&s.StorageConfig.Type, "storage-backend", s.StorageConfig.Type,
|
fs.StringVar(&s.StorageConfig.Type, "storage-backend", s.StorageConfig.Type,
|
||||||
"The storage backend for persistence. Options: 'etcd2' (default), 'etcd3'.")
|
"The storage backend for persistence. Options: 'etcd3' (default), 'etcd2'.")
|
||||||
|
|
||||||
fs.IntVar(&s.StorageConfig.DeserializationCacheSize, "deserialization-cache-size", s.StorageConfig.DeserializationCacheSize,
|
fs.IntVar(&s.StorageConfig.DeserializationCacheSize, "deserialization-cache-size", s.StorageConfig.DeserializationCacheSize,
|
||||||
"Number of deserialized json objects to cache in memory.")
|
"Number of deserialized json objects to cache in memory.")
|
||||||
|
@ -26,7 +26,7 @@ const (
|
|||||||
|
|
||||||
// Config is configuration for creating a storage backend.
|
// Config is configuration for creating a storage backend.
|
||||||
type Config struct {
|
type Config struct {
|
||||||
// Type defines the type of storage backend, e.g. "etcd2", etcd3". Default ("") is "etcd2".
|
// Type defines the type of storage backend, e.g. "etcd2", etcd3". Default ("") is "etcd3".
|
||||||
Type string
|
Type string
|
||||||
// Prefix is the prefix to all keys passed to storage.Interface methods.
|
// Prefix is the prefix to all keys passed to storage.Interface methods.
|
||||||
Prefix string
|
Prefix string
|
||||||
|
@ -29,9 +29,9 @@ type DestroyFunc func()
|
|||||||
// Create creates a storage backend based on given config.
|
// Create creates a storage backend based on given config.
|
||||||
func Create(c storagebackend.Config) (storage.Interface, DestroyFunc, error) {
|
func Create(c storagebackend.Config) (storage.Interface, DestroyFunc, error) {
|
||||||
switch c.Type {
|
switch c.Type {
|
||||||
case storagebackend.StorageTypeUnset, storagebackend.StorageTypeETCD2:
|
case storagebackend.StorageTypeETCD2:
|
||||||
return newETCD2Storage(c)
|
return newETCD2Storage(c)
|
||||||
case storagebackend.StorageTypeETCD3:
|
case storagebackend.StorageTypeUnset, storagebackend.StorageTypeETCD3:
|
||||||
// TODO: We have the following features to implement:
|
// TODO: We have the following features to implement:
|
||||||
// - Support secure connection by using key, cert, and CA files.
|
// - Support secure connection by using key, cert, and CA files.
|
||||||
// - Honor "https" scheme to support secure connection in gRPC.
|
// - Honor "https" scheme to support secure connection in gRPC.
|
||||||
|
@ -42,6 +42,10 @@ func NewAPIServer() *APIServer {
|
|||||||
func (a *APIServer) Start() error {
|
func (a *APIServer) Start() error {
|
||||||
config := options.NewServerRunOptions()
|
config := options.NewServerRunOptions()
|
||||||
config.Etcd.StorageConfig.ServerList = []string{getEtcdClientURL()}
|
config.Etcd.StorageConfig.ServerList = []string{getEtcdClientURL()}
|
||||||
|
// TODO: Current setup of etcd in e2e-node tests doesn't support etcd v3
|
||||||
|
// protocol. We should migrate it to use the same infrastructure as all
|
||||||
|
// other tests (pkg/storage/etcd/testing).
|
||||||
|
config.Etcd.StorageConfig.Type = "etcd2"
|
||||||
_, ipnet, err := net.ParseCIDR(clusterIPRange)
|
_, ipnet, err := net.ParseCIDR(clusterIPRange)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
|
@ -29,7 +29,7 @@ INSTANCE_PREFIX="${INSTANCE_PREFIX:-}"
|
|||||||
SERVICE_CLUSTER_IP_RANGE="${SERVICE_CLUSTER_IP_RANGE:-}"
|
SERVICE_CLUSTER_IP_RANGE="${SERVICE_CLUSTER_IP_RANGE:-}"
|
||||||
|
|
||||||
# Etcd related variables.
|
# Etcd related variables.
|
||||||
ETCD_IMAGE="${ETCD_IMAGE:-2.2.1}"
|
ETCD_IMAGE="${ETCD_IMAGE:-3.0.14-alpha.1}"
|
||||||
ETCD_VERSION="${ETCD_VERSION:-}"
|
ETCD_VERSION="${ETCD_VERSION:-}"
|
||||||
|
|
||||||
# Controller-manager related variables.
|
# Controller-manager related variables.
|
||||||
|
Loading…
Reference in New Issue
Block a user