package etcd
import "k8s.io/kubernetes/cmd/kubeadm/app/util/etcd"
Index ¶
- func CheckConfigurationIsHA(cfg *kubeadmapi.Etcd) bool
- func GetClientURL(cfg *kubeadmapi.InitConfiguration) string
- func GetClientURLByIP(ip string) string
- func GetPeerURL(cfg *kubeadmapi.InitConfiguration) string
- func PodManifestsHaveTLS(ManifestDir string) (bool, error)
- type Client
- func New(endpoints []string, ca, cert, key string) (*Client, error)
- func NewFromCluster(client clientset.Interface, certificatesDir string) (*Client, error)
- func (c Client) AddMember(name string, peerAddrs string) ([]Member, error)
- func (c Client) ClusterAvailable() (bool, error)
- func (c Client) GetClusterStatus() (map[string]*clientv3.StatusResponse, error)
- func (c Client) GetClusterVersions() (map[string]string, error)
- func (c Client) GetVersion() (string, error)
- func (c Client) HasTLS() bool
- func (c Client) Sync() error
- func (c Client) WaitForClusterAvailable(delay time.Duration, retries int, retryInterval time.Duration) (bool, error)
- type ClusterInterrogator
- type Member
Functions ¶
func CheckConfigurationIsHA ¶
func CheckConfigurationIsHA(cfg *kubeadmapi.Etcd) bool
CheckConfigurationIsHA returns true if the given InitConfiguration etcd block appears to be an HA configuration.
func GetClientURL ¶
func GetClientURL(cfg *kubeadmapi.InitConfiguration) string
GetClientURL creates an HTTPS URL that uses the configured advertise address and client port for the API controller
func GetClientURLByIP ¶
GetClientURLByIP creates an HTTPS URL based on an IP address and the client listening port.
func GetPeerURL ¶
func GetPeerURL(cfg *kubeadmapi.InitConfiguration) string
GetPeerURL creates an HTTPS URL that uses the configured advertise address and peer port for the API controller
func PodManifestsHaveTLS ¶
PodManifestsHaveTLS reads the etcd staticpod manifest from disk and returns false if the TLS flags are missing from the command list. If all the flags are present it returns true.
Types ¶
type Client ¶
Client provides connection parameters for an etcd cluster
func New ¶
New creates a new EtcdCluster client
func NewFromCluster ¶
NewFromCluster creates an etcd client for the the etcd endpoints defined in the ClusterStatus value stored in the kubeadm-config ConfigMap in kube-system namespace. Once created, the client synchronizes client's endpoints with the known endpoints from the etcd membership API (reality check).
func (Client) AddMember ¶
AddMember notifies an existing etcd cluster that a new member is joining
func (Client) ClusterAvailable ¶
ClusterAvailable returns true if the cluster status indicates the cluster is available.
func (Client) GetClusterStatus ¶
func (c Client) GetClusterStatus() (map[string]*clientv3.StatusResponse, error)
GetClusterStatus returns nil for status Up or error for status Down
func (Client) GetClusterVersions ¶
GetClusterVersions returns a map of the endpoints and their associated versions
func (Client) GetVersion ¶
GetVersion returns the etcd version of the cluster. An error is returned if the version of all endpoints do not match
func (Client) HasTLS ¶
HasTLS returns true if etcd is configured for TLS
func (Client) Sync ¶
Sync synchronizes client's endpoints with the known endpoints from the etcd membership.
func (Client) WaitForClusterAvailable ¶
func (c Client) WaitForClusterAvailable(delay time.Duration, retries int, retryInterval time.Duration) (bool, error)
WaitForClusterAvailable returns true if all endpoints in the cluster are available after an initial delay and retry attempts, an error is returned otherwise
type ClusterInterrogator ¶
type ClusterInterrogator interface { ClusterAvailable() (bool, error) GetClusterStatus() (map[string]*clientv3.StatusResponse, error) GetClusterVersions() (map[string]string, error) GetVersion() (string, error) HasTLS() bool WaitForClusterAvailable(delay time.Duration, retries int, retryInterval time.Duration) (bool, error) Sync() error AddMember(name string, peerAddrs string) ([]Member, error) }
ClusterInterrogator is an interface to get etcd cluster related information
type Member ¶
Member struct defines an etcd member; it is used for avoiding to spread github.com/coreos/etcd dependency across kubeadm codebase
Source Files ¶
etcd.go
- Version
- v1.13.0
- Published
- Nov 30, 2018
- Platform
- linux/amd64
- Imports
- 17 packages
- Last checked
- 43 minutes ago –
Tools for package owners.