Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type SyncerConfiguration ¶
type SyncerConfiguration struct {
metav1.TypeMeta
// LeaderElection defines the configuration of leader election client.
LeaderElection SyncerLeaderElectionConfiguration
// ClientConnection specifies the kubeconfig file and client connection
// settings for the proxy server to use when communicating with the apiserver.
ClientConnection componentbaseconfig.ClientConnectionConfiguration
// DefaultOpaqueMetaDomains is the default configuration for each Virtual Cluster.
// The key prefix of labels or annotations match this domain would be invisible to Virtual Cluster but
// are kept in super cluster.
// take tenant labels(annotations) ["foo=bar", "foo.kubernetes.io/foo=bar"] for example,
// different configurations and possible final states are as follows:
// DefaultOpaqueMetaDomains | labels(annotations) in super cluster
// [] | ["foo=bar", "foo.kubernetes.io/foo=bar"]
// ["foo.kubernetes.io"] | ["foo=bar", "foo.kubernetes.io/foo=foo", "foo.kubernetes.io/a=b"]
// ["kubernetes.io"] | ["foo=bar", "foo.kubernetes.io/foo=foo", "foo.kubernetes.io/a=b", "a.kubernetes.io/b=c"]
// ["aaa"] | ["foo=bar", "foo.kubernetes.io/foo=bar", "aaa/b=c"]
DefaultOpaqueMetaDomains []string
// ExtraSyncingResources defines additional resources that need to be synced for each Virtual Cluster
ExtraSyncingResources []string
// DisableServiceAccountToken indicates whether to disable super cluster service account tokens being auto generated
// and mounted in vc pods.
DisableServiceAccountToken bool
// DisablePodServiceLinks indicates whether to disable the `EnableServiceLinks` field in pPod spec.
// Defaults to false, it won‘t mutate the EnableServiceLinks field in pPod spec.
// If set to true, it will disable service links for all of the pPods to avoid massive env injections
// from syncer which replace the kubelet generated envs.
DisablePodServiceLinks bool
// ExtraNodeLabels is the list of extra labels to be synced to vNode from the super cluster.
ExtraNodeLabels []string
// OpaqueTaintKeys is the list of taint keys to be synced to vNode from the super cluster
OpaqueTaintKeys []string
// VNAgentPort defines the port that the VN Agent is running on per host
VNAgentPort int32
// VNAgentNamespacedName defines the namespace/name of the VN Agent Kubernetes
// service, this is used for feature VNodeProviderService.
VNAgentNamespacedName string
// VNAgentLabelSelector defines the label of the VN Agent Kubernetes pods, this
// is used for the feature VNodeProviderPodIP
VNAgentLabelSelector string
// FeatureGates enabled by the user.
FeatureGates map[string]bool
// Super cluster rest config
RestConfig *rest.Config
// The maximum length of time to wait before giving up on a server request. A value of "" means use default.
Timeout string
// The DNSOptions are the DNS options in resolv.conf that is attached to pod
DNSOptions []corev1.PodDNSConfigOption
}
SyncerConfiguration configures a syncer. It is read only during syncer life cycle.
type SyncerLeaderElectionConfiguration ¶
type SyncerLeaderElectionConfiguration struct {
componentbaseconfig.LeaderElectionConfiguration
// LockObjectNamespace defines the namespace of the lock object
LockObjectNamespace string
// LockObjectName defines the lock object name
LockObjectName string
}
SyncerLeaderElectionConfiguration expands LeaderElectionConfiguration to include syncer specific configuration.
Click to show internal directories.
Click to hide internal directories.