Documentation ¶
Index ¶
Constants ¶
View Source
const (
BackupStorageTypePersistentVolume = "PersistentVolume"
)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BackupPolicy ¶
type BackupPolicy struct { // SnapshotIntervalInSecond specifies the interval between two snapshots. // The default interval is 1800 seconds. SnapshotIntervalInSecond int `json:"snapshotIntervalInSecond"` // MaxSnapshot is the maximum number of snapshot files to retain. 0 is disable backup. // If backup is disabled, the etcd cluster cannot recover from a // disaster failure (lose more than half of its members at the same // time). MaxSnapshot int `json:"maxSnapshot"` // VolumeSizeInMB specifies the required volume size to perform backups. // Operator will claim the required size before creating the etcd cluster for backup // purpose. // If the snapshot size is larger than the size specified, backup fails. VolumeSizeInMB int `json:"volumeSizeInMB"` // StorageType specifies the type of storage device to store backup files. // If it's not set by user, the default is "PersistentVolume". StorageType BackupStorageType `json:"storageType"` // CleanupStorageIfDeleted specified whether we want to cleanup the backup data if cluster is deleted. // By default, operator will keep the backup data. CleanupBackupIfDeleted bool `json:"cleanupBackupIfDeleted"` }
type ClusterSpec ¶
type ClusterSpec struct { // Size is the expected size of the etcd cluster. // The etcd-operator will eventually make the size of the running // cluster equal to the expected size. // The vaild range of the size is from 1 to 7. Size int `json:"size"` // NodeSelector specifies a map of key-value pairs. For the pod to be eligible // to run on a node, the node must have each of the indicated key-value pairs as // labels. NodeSelector map[string]string `json:"nodeSelector,omitempty"` // AntiAffinity determines if the etcd-operator tries to avoid putting // the etcd members in the same cluster onto the same node. AntiAffinity bool `json:"antiAffinity"` // Version is the expected version of the etcd cluster. // The etcd-operator will eventually make the etcd cluster version // equal to the expected version. Version string `json:"version"` // Backup is the backup policy for the etcd cluster. // There is no backup by default. Backup *BackupPolicy `json:"backup,omitempty"` // HostNetwork determines if the etcd pods should be run // in the host network namespace. HostNetwork bool `json:"hostNetwork,omitempty"` // Seed specifies a seed member for the cluster. // If there is no seed member, a completely new cluster will be created. // There is no seed member by default. Seed *SeedPolicy `json:"seed,omitempty"` }
type EtcdCluster ¶
type EtcdCluster struct { unversioned.TypeMeta `json:",inline"` api.ObjectMeta `json:"metadata,omitempty"` Spec ClusterSpec `json:"spec"` }
type SeedPolicy ¶
type SeedPolicy struct { // The client endpoints of the seed member. MemberClientEndpoints []string // RemoveDelay specifies the delay to remove the original seed member from the // cluster in seconds. // The seed member will be removed in 30 second by default. Minimum delay is 10 seconds. RemoveDelay int }
Click to show internal directories.
Click to hide internal directories.