Documentation
¶
Index ¶
- Constants
- func AddEtcdVolumeToPod(pod *v1.Pod, pvc *v1.PersistentVolumeClaim)
- func CascadeDeleteOptions(gracePeriodSeconds int64) *metav1.DeleteOptions
- func ClientServiceName(clusterName string) string
- func ClusterListOpt(clusterName string) metav1.ListOptions
- func CreateClientService(kubecli kubernetes.Interface, clusterName, ns string, ...) error
- func CreatePatch(o, n, datastruct interface{}) ([]byte, error)
- func CreatePeerService(kubecli kubernetes.Interface, clusterName, ns string, ...) error
- func GetEtcdVersion(pod *v1.Pod) string
- func GetPodNames(pods []*v1.Pod) []string
- func ImageName(repo, version string) string
- func InClusterConfig() (*rest.Config, error)
- func IsKubernetesResourceAlreadyExistError(err error) bool
- func IsKubernetesResourceNotFoundError(err error) bool
- func IsPodReady(pod *v1.Pod) bool
- func LabelsForCluster(clusterName string) map[string]string
- func MemberRemoveEvent(memberName string, cl *api.Cluster) *v1.Event
- func MemberUpgradedEvent(memberName, oldVersion, newVersion string, cl *api.Cluster) *v1.Event
- func MustNewKubeClient() kubernetes.Interface
- func NewEtcdPod(m *etcdutil.Member, initialCluster []string, clusterName, state, token string, ...) *v1.Pod
- func NewEtcdPodPVC(m *etcdutil.Member, pvcSpec v1.PersistentVolumeClaimSpec, ...) *v1.PersistentVolumeClaim
- func NewMemberAddEvent(memberName string, cl *api.Cluster) *v1.Event
- func NewSeedMemberPod(clusterName string, ms etcdutil.MemberSet, m *etcdutil.Member, ...) *v1.Pod
- func PVCNameFromMember(memberName string) string
- func PatchDeployment(kubecli kubernetes.Interface, namespace, name string, ...) error
- func PodSpecToPrettyJSON(pod *v1.Pod) (string, error)
- func PodWithNodeSelector(p *v1.Pod, ns map[string]string) *v1.Pod
- func ReplacingDeadMemberEvent(memberName string, cl *api.Cluster) *v1.Event
- func SetEtcdVersion(pod *v1.Pod, version string)
- func UniqueMemberName(clusterName string) string
- type Cluster
- type ClusterOption
- type Services
- type TLSData
Constants ¶
View Source
const ( EtcdClusterResourceKind = "EtcdCluster" EtcdClusterResourcePlural = "etcdclusters" EtcdBackupResourceKind = "EtcdBackup" EtcdBackupResourcePlural = "etcdbackups" EtcdRestoreResourceKind = "EtcdRestore" EtcdRestoreResourcePlural = "etcdrestores" )
View Source
const ( // EtcdClientPort is the client port on client service and etcd nodes. EtcdClientPort = 2379 // k8s object name has a maximum length MaxNameLength = 63 - randomSuffixLength - 1 // AnnotationScope annotation name for defining instance scope. Used for specifying cluster wide clusters. AnnotationScope = "etcd.database.coreos.com/scope" //AnnotationClusterWide annotation value for cluster wide clusters. AnnotationClusterWide = "clusterwide" )
View Source
const TolerateUnreadyEndpointsAnnotation = "service.alpha.kubernetes.io/tolerate-unready-endpoints"
Variables ¶
This section is empty.
Functions ¶
func AddEtcdVolumeToPod ¶
func AddEtcdVolumeToPod(pod *v1.Pod, pvc *v1.PersistentVolumeClaim)
AddEtcdVolumeToPod abstract the process of appending volume spec to pod spec
func CascadeDeleteOptions ¶
func CascadeDeleteOptions(gracePeriodSeconds int64) *metav1.DeleteOptions
func ClientServiceName ¶
func ClusterListOpt ¶
func ClusterListOpt(clusterName string) metav1.ListOptions
We are using internal api types for cluster related.
func CreateClientService ¶
func CreateClientService(kubecli kubernetes.Interface, clusterName, ns string, owner metav1.OwnerReference) error
func CreatePatch ¶
func CreatePeerService ¶
func CreatePeerService(kubecli kubernetes.Interface, clusterName, ns string, owner metav1.OwnerReference) error
func GetEtcdVersion ¶
func GetPodNames ¶
func InClusterConfig ¶
func IsPodReady ¶
IsPodReady returns false if the Pod Status is nil
func LabelsForCluster ¶
func MemberUpgradedEvent ¶
func MustNewKubeClient ¶
func MustNewKubeClient() kubernetes.Interface
func NewEtcdPod ¶
func NewEtcdPod(m *etcdutil.Member, initialCluster []string, clusterName, state, token string, cs api.ClusterSpec, owner metav1.OwnerReference) *v1.Pod
func NewEtcdPodPVC ¶
func NewEtcdPodPVC(m *etcdutil.Member, pvcSpec v1.PersistentVolumeClaimSpec, clusterName, namespace string, owner metav1.OwnerReference) *v1.PersistentVolumeClaim
NewEtcdPodPVC create PVC object from etcd pod's PVC spec
func NewSeedMemberPod ¶
func NewSeedMemberPod(clusterName string, ms etcdutil.MemberSet, m *etcdutil.Member, cs api.ClusterSpec, owner metav1.OwnerReference, backupURL *url.URL) *v1.Pod
NewSeedMemberPod returns a Pod manifest for a seed member. It's special that it has new token, and might need recovery init containers
func PVCNameFromMember ¶
PVCNameFromMember the way we get PVC name from the member name
func PatchDeployment ¶
func PatchDeployment(kubecli kubernetes.Interface, namespace, name string, updateFunc func(*appsv1beta1.Deployment)) error
func SetEtcdVersion ¶
func UniqueMemberName ¶
Types ¶
type ClusterOption ¶
type ClusterOption struct {
// contains filtered or unexported fields
}
func (*ClusterOption) UpdateCluster ¶
func (c *ClusterOption) UpdateCluster(namespace string, cluster *api.Cluster) error
type TLSData ¶
func GetTLSDataFromSecret ¶
func GetTLSDataFromSecret(kubecli kubernetes.Interface, ns, se string) (*TLSData, error)
GetTLSDataFromSecret retrives the kubernete secret that contain etcd tls certs and put them into TLSData.
Click to show internal directories.
Click to hide internal directories.