package etcd
import "k8s.io/kubernetes/cmd/kubeadm/app/util/etcd"
Index ¶
- func CreateDataDirectory(dir string) error
- func GetClientURL(localEndpoint *kubeadmapi.APIEndpoint) string
- func GetClientURLByIP(ip string) string
- func GetPeerURL(localEndpoint *kubeadmapi.APIEndpoint) string
- 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) CheckClusterHealth() error
- func (c *Client) GetMemberID(peerURL string) (uint64, error)
- func (c *Client) ListMembers() ([]Member, error)
- func (c *Client) RemoveMember(id uint64) ([]Member, error)
- func (c *Client) Sync() error
- func (c *Client) WaitForClusterAvailable(retries int, retryInterval time.Duration) (bool, error)
- type ClusterInterrogator
- type Member
Functions ¶
func CreateDataDirectory ¶
CreateDataDirectory creates the etcd data directory (commonly /var/lib/etcd) with the right permissions.
func GetClientURL ¶
func GetClientURL(localEndpoint *kubeadmapi.APIEndpoint) 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(localEndpoint *kubeadmapi.APIEndpoint) string
GetPeerURL creates an HTTPS URL that uses the configured advertise address and peer port for the API controller
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 etcd endpoints present in etcd member list. In order to compose this information, it will first discover at least one etcd endpoint to connect to. Once created, the client synchronizes client's endpoints with the known endpoints from the etcd membership API, since it is the authoritative source of truth for the list of available members.
func (*Client) AddMember ¶
AddMember notifies an existing etcd cluster that a new member is joining
func (*Client) CheckClusterHealth ¶
CheckClusterHealth returns nil for status Up or error for status Down
func (*Client) GetMemberID ¶
GetMemberID returns the member ID of the given peer URL
func (*Client) ListMembers ¶
ListMembers returns the member list.
func (*Client) RemoveMember ¶
RemoveMember notifies an etcd cluster to remove an existing member
func (*Client) Sync ¶
Sync synchronizes client's endpoints with the known endpoints from the etcd membership.
func (*Client) WaitForClusterAvailable ¶
WaitForClusterAvailable returns true if all endpoints in the cluster are available after retry attempts, an error is returned otherwise
type ClusterInterrogator ¶
type ClusterInterrogator interface { CheckClusterHealth() error WaitForClusterAvailable(retries int, retryInterval time.Duration) (bool, error) Sync() error ListMembers() ([]Member, error) AddMember(name string, peerAddrs string) ([]Member, error) GetMemberID(peerURL string) (uint64, error) RemoveMember(id uint64) ([]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 etcddata.go
- Version
- v1.20.6
- Published
- Apr 15, 2021
- Platform
- linux/amd64
- Imports
- 21 packages
- Last checked
- 16 minutes ago –
Tools for package owners.