mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-11-04 04:08:16 +00:00 
			
		
		
		
	Switch to etcd v3 API by default
This commit is contained in:
		@@ -20,9 +20,9 @@
 | 
			
		||||
{% endfor -%}
 | 
			
		||||
{% set etcd_cluster = vars.etcd_cluster -%}
 | 
			
		||||
{% 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 = '' -%}
 | 
			
		||||
{% if pillar.get('storage_backend', 'etcd2') == 'etcd3' -%}
 | 
			
		||||
{% if pillar.get('storage_backend', 'etcd3') == 'etcd3' -%}
 | 
			
		||||
  {% set quota_bytes = '--quota-backend-bytes=4294967296' -%}
 | 
			
		||||
{% endif -%}
 | 
			
		||||
{% set srv_kube_path = "/srv/kubernetes" -%}
 | 
			
		||||
 
 | 
			
		||||
@@ -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/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:{% if pillar.get('storage_backend', 'etcd2') == 'etcd3' -%}
 | 
			
		||||
cluster/saltbase/salt/etcd/etcd.manifest:{% set storage_backend = pillar.get('storage_backend', 'etcd2') -%}
 | 
			
		||||
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', 'etcd3') -%}
 | 
			
		||||
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-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.")
 | 
			
		||||
 | 
			
		||||
	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,
 | 
			
		||||
		"Number of deserialized json objects to cache in memory.")
 | 
			
		||||
 
 | 
			
		||||
@@ -26,7 +26,7 @@ const (
 | 
			
		||||
 | 
			
		||||
// Config is configuration for creating a storage backend.
 | 
			
		||||
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
 | 
			
		||||
	// Prefix is the prefix to all keys passed to storage.Interface methods.
 | 
			
		||||
	Prefix string
 | 
			
		||||
 
 | 
			
		||||
@@ -29,9 +29,9 @@ type DestroyFunc func()
 | 
			
		||||
// Create creates a storage backend based on given config.
 | 
			
		||||
func Create(c storagebackend.Config) (storage.Interface, DestroyFunc, error) {
 | 
			
		||||
	switch c.Type {
 | 
			
		||||
	case storagebackend.StorageTypeUnset, storagebackend.StorageTypeETCD2:
 | 
			
		||||
	case storagebackend.StorageTypeETCD2:
 | 
			
		||||
		return newETCD2Storage(c)
 | 
			
		||||
	case storagebackend.StorageTypeETCD3:
 | 
			
		||||
	case storagebackend.StorageTypeUnset, storagebackend.StorageTypeETCD3:
 | 
			
		||||
		// TODO: We have the following features to implement:
 | 
			
		||||
		// - Support secure connection by using key, cert, and CA files.
 | 
			
		||||
		// - Honor "https" scheme to support secure connection in gRPC.
 | 
			
		||||
 
 | 
			
		||||
@@ -42,6 +42,10 @@ func NewAPIServer() *APIServer {
 | 
			
		||||
func (a *APIServer) Start() error {
 | 
			
		||||
	config := options.NewServerRunOptions()
 | 
			
		||||
	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)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user