util

package
v0.0.0-...-432d548 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 27, 2024 License: Apache-2.0 Imports: 33 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// CallTypeCreateReplica is call type
	CallTypeCreateReplica CallType = "CreateReplica"
	// CallTypeUpdateReplica is call type
	CallTypeUpdateReplica CallType = "UpdateReplica"
	// CallTypeReleaseReplica is call type
	CallTypeReleaseReplica CallType = "ReleaseReplica"
	// CallTypeDeleteReplica is call type
	CallTypeDeleteReplica CallType = "DeleteReplica"

	// CallTypeCreateWorker is call type
	CallTypeCreateWorker CallType = "CreateWorker"
	// CallTypeUpdateWorker is call type
	CallTypeUpdateWorker CallType = "UpdateWorker"
	// CallTypeDeleteWorker is call type
	CallTypeDeleteWorker CallType = "DeleteWorker"

	// CallTypeCreatePod is call type
	CallTypeCreatePod CallType = "CreatePod"
	// CallTypeUpdatePod is call type
	CallTypeUpdatePod CallType = "UpdatePod"
	// CallTypePatchPod is call type
	CallTypePatchPod CallType = "PatchPod"
	// CallTypeDeletePod is call type
	CallTypeDeletePod CallType = "DeletePod"

	// CallTypeUpdateRollingset is call type
	CallTypeUpdateRollingset CallType = "UpdateRollingset"

	// CallTypeListReplica is call type
	CallTypeListReplica CallType = "ListReplica"

	// CallTypeListRollingSet is call type
	CallTypeListRollingSet CallType = "ListRollingSet"

	// CallTypeListWorker is call type
	CallTypeListWorker CallType = "ListWorker"
	// CallTypeCreateRollingSet is call type
	CallTypeCreateRollingSet = "CreateRollingSet"

	// CallTypeUpdateShardGroup is call type
	CallTypeUpdateShardGroup = "UpdateShardGroup"

	// CallTypeUpdateShardGroupStatus is call type
	CallTypeUpdateShardGroupStatus = "UpdateShardGroupStatus"

	// CallTypeDeleteShardGroup is call type
	CallTypeDeleteShardGroup = "DeleteShardGroup"

	// CallTypeCreateCarbonJob CreateCarbonJob
	CallTypeCreateCarbonJob = "CreateCarbonJob"

	// CallTypeUpdateCarbonJob UpdateCarbonJob
	CallTypeUpdateCarbonJob = "UpdateCarbonJob"

	// CallTypeUpdateCarbonJobStatus UpdateCarbonJobStatus
	CallTypeUpdateCarbonJobStatus = "UpdateCarbonJobStatus"

	// CallTypeDeleteCarbonJob DeleteCarbonJob
	CallTypeDeleteCarbonJob = "DeleteCarbonJob"

	// CallTypeCreateWorkerNodeEviction CreateWorkerNodeEviction
	CallTypeCreateWorkerNodeEviction = "CreateWorkerNodeEviction"

	// CallTypeUpdateWorkerNodeEviction UpdateWorkerNodeEviction
	CallTypeUpdateWorkerNodeEviction = "UpdateWorkerNodeEviction"

	// CallTypeUpdateWorkerNodeEvictionStatus UpdateWorkerNodeEvictionStatus
	CallTypeUpdateWorkerNodeEvictionStatus = "UpdateWorkerNodeEvictionStatus"

	// CallTypeDeleteWorkerNodeEviction DeleteWorkerNodeEviction
	CallTypeDeleteWorkerNodeEviction = "DeleteWorkerNodeEviction"
)
View Source
const (
	NULL_HOLDER     = "NULL_HOLDER"
	NULL_HOLDER_STR = "\"NULL_HOLDER\""
)
View Source
const (
	BatchReplicaTimeOut = time.Minute * 10
	ExecutorSize        = 256
	BatcherPodSize      = 5000
)

BatchReplicaTimeOut replica批量操作超时时间

Variables

View Source
var (
	// CreateWorkerLatency 调用创建worker api延迟
	CreateWorkerLatency = prometheus.NewSummaryVec(
		prometheus.SummaryOpts{
			Namespace:  "carbon",
			Subsystem:  "kube_api_client",
			Name:       "create_worker_latency",
			Help:       "no help can be found here",
			MaxAge:     metric.SummaryMaxAge,
			AgeBuckets: metric.SummaryAgeBuckets,
			Objectives: map[float64]float64{0.5: 0.05, 0.9: 0.01, 0.99: 0.001},
		},
		[]string{"cluster", "application", "rollingset", "group", "role", "success"},
	)
	// UpdateWorkerLatency 调用更新worker api延迟
	UpdateWorkerLatency = prometheus.NewSummaryVec(
		prometheus.SummaryOpts{
			Namespace:  "carbon",
			Subsystem:  "kube_api_client",
			Name:       "update_worker_latency",
			Help:       "no help can be found here",
			MaxAge:     metric.SummaryMaxAge,
			AgeBuckets: metric.SummaryAgeBuckets,
			Objectives: map[float64]float64{0.5: 0.05, 0.9: 0.01, 0.99: 0.001},
		},
		[]string{"cluster", "application", "rollingset", "group", "role", "success"},
	)

	// DeleteWorkerLatency 调用删除worker api延迟
	DeleteWorkerLatency = prometheus.NewSummaryVec(
		prometheus.SummaryOpts{
			Namespace:  "carbon",
			Subsystem:  "kube_api_client",
			Name:       "delete_worker_latency",
			Help:       "no help can be found here",
			MaxAge:     metric.SummaryMaxAge,
			AgeBuckets: metric.SummaryAgeBuckets,
			Objectives: map[float64]float64{0.5: 0.05, 0.9: 0.01, 0.99: 0.001},
		},
		[]string{"cluster", "application", "rollingset", "group", "role", "success"},
	)

	// CreateWorkerCounter 调用创建worker api次数
	CreateWorkerCounter = prometheus.NewCounterVec(
		prometheus.CounterOpts{
			Namespace: "carbon",
			Subsystem: "kube_api_client",
			Name:      "create_worker_counter",
			Help:      "no help can be found here",
		},
		[]string{"cluster", "application", "rollingset", "group", "role", "success"},
	)

	// UpdateWorkerCounter 调用更新worker api次数
	UpdateWorkerCounter = prometheus.NewCounterVec(
		prometheus.CounterOpts{
			Namespace: "carbon",
			Subsystem: "kube_api_client",
			Name:      "update_worker_counter",
			Help:      "no help can be found here",
		},
		[]string{"cluster", "application", "rollingset", "group", "role", "success"},
	)

	// DeleteWorkerCounter 调用删除worker api次数
	DeleteWorkerCounter = prometheus.NewCounterVec(
		prometheus.CounterOpts{
			Namespace: "carbon",
			Subsystem: "kube_api_client",
			Name:      "delete_worker_counter",
			Help:      "no help can be found here",
		},
		[]string{"cluster", "application", "rollingset", "group", "role", "success"},
	)

	// CreateReplicaLatency 调用创建replica api延迟
	CreateReplicaLatency = prometheus.NewSummaryVec(
		prometheus.SummaryOpts{
			Namespace:  "carbon",
			Subsystem:  "kube_api_client",
			Name:       "create_replica_latency",
			Help:       "no help can be found here",
			MaxAge:     metric.SummaryMaxAge,
			AgeBuckets: metric.SummaryAgeBuckets,
			Objectives: map[float64]float64{0.5: 0.05, 0.9: 0.01, 0.99: 0.001},
		},
		[]string{"cluster", "application", "rollingset", "group", "role", "success"},
	)
	// UpdateReplicaLatency 调用更新replica api延迟
	UpdateReplicaLatency = prometheus.NewSummaryVec(
		prometheus.SummaryOpts{
			Namespace:  "carbon",
			Subsystem:  "kube_api_client",
			Name:       "update_replica_latency",
			Help:       "no help can be found here",
			MaxAge:     metric.SummaryMaxAge,
			AgeBuckets: metric.SummaryAgeBuckets,
			Objectives: map[float64]float64{0.5: 0.05, 0.9: 0.01, 0.99: 0.001},
		},
		[]string{"cluster", "application", "rollingset", "group", "role", "success"},
	)

	// DeleteReplicaLatency 调用删除replica api延迟
	DeleteReplicaLatency = prometheus.NewSummaryVec(
		prometheus.SummaryOpts{
			Namespace:  "carbon",
			Subsystem:  "kube_api_client",
			Name:       "delete_replica_latency",
			Help:       "no help can be found here",
			MaxAge:     metric.SummaryMaxAge,
			AgeBuckets: metric.SummaryAgeBuckets,
			Objectives: map[float64]float64{0.5: 0.05, 0.9: 0.01, 0.99: 0.001},
		},
		[]string{"cluster", "application", "rollingset", "group", "role", "success"},
	)

	// CreateReplicaCounter 调用创建replica api次数
	CreateReplicaCounter = prometheus.NewCounterVec(
		prometheus.CounterOpts{
			Namespace: "carbon",
			Subsystem: "kube_api_client",
			Name:      "create_replica_counter",
			Help:      "no help can be found here",
		},
		[]string{"cluster", "application", "rollingset", "group", "role", "success"},
	)
	// UpdateReplicaCounter 调用更新replica api次数
	UpdateReplicaCounter = prometheus.NewCounterVec(
		prometheus.CounterOpts{
			Namespace: "carbon",
			Subsystem: "kube_api_client",
			Name:      "update_replica_counter",
			Help:      "no help can be found here",
		},
		[]string{"cluster", "application", "rollingset", "group", "role", "success"},
	)

	// DeleteReplicaCounter 调用删除replica api次数
	DeleteReplicaCounter = prometheus.NewCounterVec(
		prometheus.CounterOpts{
			Namespace: "carbon",
			Subsystem: "kube_api_client",
			Name:      "delete_replica_counter",
			Help:      "no help can be found here",
		},
		[]string{"cluster", "application", "rollingset", "group", "role", "success"},
	)

	// UpdateRollingsetLatency 更新rs延迟
	UpdateRollingsetLatency = prometheus.NewSummaryVec(
		prometheus.SummaryOpts{
			Namespace:  "carbon",
			Subsystem:  "kube_api_client",
			Name:       "update_rollingset_latency",
			Help:       "no help can be found here",
			MaxAge:     metric.SummaryMaxAge,
			AgeBuckets: metric.SummaryAgeBuckets,
			Objectives: map[float64]float64{0.5: 0.05, 0.9: 0.01, 0.99: 0.001},
		},
		[]string{"cluster", "application", "rollingset", "group", "role", "success"},
	)
	// UpdateRollingsetCounter 调用更新Rollingset api次数
	UpdateRollingsetCounter = prometheus.NewCounterVec(
		prometheus.CounterOpts{
			Namespace: "carbon",
			Subsystem: "kube_api_client",
			Name:      "update_rollingset_counter",
			Help:      "no help can be found here",
		},
		[]string{"cluster", "application", "rollingset", "group", "role", "success"},
	)

	// ListWorkerLatency 调用ListWorker api延迟
	ListWorkerLatency = prometheus.NewSummaryVec(
		prometheus.SummaryOpts{
			Namespace:  "carbon",
			Subsystem:  "kube_api_client",
			Name:       "list_worker_latency",
			Help:       "no help can be found here",
			MaxAge:     metric.SummaryMaxAge,
			AgeBuckets: metric.SummaryAgeBuckets,
			Objectives: map[float64]float64{0.5: 0.05, 0.9: 0.01, 0.99: 0.001},
		},
		[]string{"cluster", "application", "rollingset", "group", "role", "success"},
	)

	// ListWorkerCounter 调用ListWorker api次数
	ListWorkerCounter = prometheus.NewCounterVec(
		prometheus.CounterOpts{
			Namespace: "carbon",
			Subsystem: "kube_api_client",
			Name:      "list_worker_counter",
			Help:      "no help can be found here",
		},
		[]string{"cluster", "application", "rollingset", "group", "role", "success"},
	)
	// ListReplicaLatency 调用ListReplica api延迟
	ListReplicaLatency = prometheus.NewSummaryVec(
		prometheus.SummaryOpts{
			Namespace:  "carbon",
			Subsystem:  "kube_api_client",
			Name:       "list_replica_latency",
			Help:       "no help can be found here",
			MaxAge:     metric.SummaryMaxAge,
			AgeBuckets: metric.SummaryAgeBuckets,
			Objectives: map[float64]float64{0.5: 0.05, 0.9: 0.01, 0.99: 0.001},
		},
		[]string{"cluster", "application", "rollingset", "group", "role", "success"},
	)

	// ListReplicaCounter 调用ListReplica api次数
	ListReplicaCounter = prometheus.NewCounterVec(
		prometheus.CounterOpts{
			Namespace: "carbon",
			Subsystem: "kube_api_client",
			Name:      "list_replica_counter",
			Help:      "no help can be found here",
		},
		[]string{"cluster", "application", "rollingset", "group", "role", "success"},
	)

	// UpdateGroupLatency 更新group延迟
	UpdateGroupLatency = prometheus.NewSummaryVec(
		prometheus.SummaryOpts{
			Namespace:  "carbon",
			Subsystem:  "kube_api_client",
			Name:       "update_group_latency",
			Help:       "no help can be found here",
			MaxAge:     metric.SummaryMaxAge,
			AgeBuckets: metric.SummaryAgeBuckets,
			Objectives: map[float64]float64{0.5: 0.05, 0.9: 0.01, 0.99: 0.001},
		},
		[]string{"cluster", "application", "group", "success"},
	)
	// UpdateGroupCounter 调用更新group api次数
	UpdateGroupCounter = prometheus.NewCounterVec(
		prometheus.CounterOpts{
			Namespace: "carbon",
			Subsystem: "kube_api_client",
			Name:      "update_group_counter",
			Help:      "no help can be found here",
		},
		[]string{"cluster", "application", "group", "success"},
	)
)

Functions

func CalcCompleteLatency

func CalcCompleteLatency(annotations map[string]string, version string) float64

CalcCompleteLatency 计算从变更crd到controller收到变更的延迟

func CalcCrdChangeLatency

func CalcCrdChangeLatency(lastUpdateTime time.Time) float64

CalcCrdChangeLatency 计算从变更crd到controller收到变更的延迟 //concurrent map writes 问题无法解决

func GenerateObjName

func GenerateObjName(prefix string, version string, superVersion string) string

GenerateObjName generate name for obj

func GetWorkerServiceMemberships

func GetWorkerServiceMemberships(s listers.ServicePublisherLister, worker *carbonv1.WorkerNode) (sets.String, error)

GetWorkerServiceMemberships get the name of services which ref the worker

func GetWorkerServices

GetWorkerServices get the services ref the worker

func GetWorkerServicesSync

func GetWorkerServicesSync(carbonclientset clientset.Interface, worker *carbonv1.WorkerNode) ([]*carbonv1.ServicePublisher, error)

GetWorkerServicesSync get the services ref the worker

func IsObjDelete

func IsObjDelete(obj interface{}) bool

IsObjDelete means is the obj has been delete

func MergeLabels

func MergeLabels(labels, labels2 map[string]string) map[string]string

MergeLabels merge labels

func NewWorker

func NewWorker(rsName, gangPartName, gangID string, rs *carbonv1.RollingSet, owners []metav1.OwnerReference, label, anno map[string]string) *carbonv1.WorkerNode

NewWorker NewWorker

func RecordAPICall

func RecordAPICall(callType CallType, start time.Time, object *metav1.ObjectMeta, requestID string, err error)

RecordAPICall 记录调用api service的延迟和次数,为减少日志仅写操作调用接口

func ReplicaKey

func ReplicaKey(replica *carbonv1.Replica) string

ReplicaKey 生成replica key

func RollingSetKey

func RollingSetKey(r *carbonv1.RollingSet) string

RollingSetKey 生成rollingset key

func UpdateCrdTime

func UpdateCrdTime(meta *metav1.ObjectMeta, now time.Time)

UpdateCrdTime 更新crd对象变更的时间点, 在调用apiserver之前 //concurrent map writes 问题无法解决

func UpdateVersionTime

func UpdateVersionTime(meta *metav1.ObjectMeta, version string, now time.Time)

UpdateVersionTime 更新crd对象变更的时间点, 在调用apiserver之前

Types

type BitMap

type BitMap struct {
	// contains filtered or unexported fields
}

func NewBitMap

func NewBitMap(max int) *BitMap

func (*BitMap) Add

func (b *BitMap) Add(num uint)

func (*BitMap) IsExist

func (b *BitMap) IsExist(num uint) bool

func (*BitMap) Max

func (b *BitMap) Max() int

func (*BitMap) Remove

func (b *BitMap) Remove(num uint)

func (*BitMap) String

func (b *BitMap) String() string

type CallType

type CallType string

CallType is a type for ProvidorType

type CommonPatch

type CommonPatch struct {
	PatchType    types.PatchType        `json:"patchType"`
	PatchData    map[string]interface{} `json:"data"`
	SubResources []string
}

func NewMergePatch

func NewMergePatch() *CommonPatch

除 CRD 对象外,请使用上面的 NewStrategicPatch

func NewStrategicPatch

func NewStrategicPatch() *CommonPatch

func (*CommonPatch) AddFinalizer

func (s *CommonPatch) AddFinalizer(item string) *CommonPatch

func (*CommonPatch) Data

func (s *CommonPatch) Data(obj runtime.Object) ([]byte, error)

Data implements Patch.

func (*CommonPatch) DeleteAnnotation

func (s *CommonPatch) DeleteAnnotation(key string) *CommonPatch

func (*CommonPatch) DeleteLabel

func (s *CommonPatch) DeleteLabel(key string) *CommonPatch

func (*CommonPatch) InsertAnnotation

func (s *CommonPatch) InsertAnnotation(key, value string) *CommonPatch

attention:不要修改覆盖写的特性

func (*CommonPatch) InsertLabel

func (s *CommonPatch) InsertLabel(key, value string) *CommonPatch

func (*CommonPatch) OverrideFinalizer

func (s *CommonPatch) OverrideFinalizer(items []string) *CommonPatch

func (*CommonPatch) RemoveFinalizer

func (s *CommonPatch) RemoveFinalizer(item string) *CommonPatch

func (*CommonPatch) SimpleData

func (s *CommonPatch) SimpleData() []byte

SimpleData return data without error.

func (*CommonPatch) String

func (s *CommonPatch) String() string

func (*CommonPatch) Type

func (s *CommonPatch) Type() types.PatchType

Type implements Patch.

func (*CommonPatch) UpdatePodCondition

func (s *CommonPatch) UpdatePodCondition(condition v1.PodCondition) *CommonPatch

type Patch

type Patch interface {
	// Type is the PatchType of the patch.
	Type() types.PatchType
	// Data is the raw data representing the patch.
	Data(obj runtime.Object) ([]byte, error)
}

Patch is a patch that can be applied to a Kubernetes object.

type PodSpecMerger

type PodSpecMerger struct {
	// contains filtered or unexported fields
}

PodSpecMerger merge webhooks

func (*PodSpecMerger) InitC2DelcaredEnvKeysAnno

func (m *PodSpecMerger) InitC2DelcaredEnvKeysAnno(target *corev1.Pod, podSpec *corev1.PodSpec) error

func (*PodSpecMerger) InitC2DelcaredKeysAnno

func (m *PodSpecMerger) InitC2DelcaredKeysAnno(target *corev1.Pod, podSpec *corev1.PodSpec) error

func (*PodSpecMerger) MergeEnvs

func (m *PodSpecMerger) MergeEnvs(target *corev1.Pod, podSpec *corev1.PodSpec, current *corev1.Pod) error

func (*PodSpecMerger) MergeTargetPods

func (m *PodSpecMerger) MergeTargetPods(target *corev1.Pod, podSpec *corev1.PodSpec, current *corev1.Pod) error

func (*PodSpecMerger) MergeTolerations

func (m *PodSpecMerger) MergeTolerations(target *corev1.Pod, podSpec *corev1.PodSpec, current *corev1.Pod) error

MergeTolerations MergeTolerations

type ResourceManager

type ResourceManager interface {
	CreatePod(pod *corev1.Pod) (*corev1.Pod, error)
	UpdatePodSpec(pod *corev1.Pod) error
	UpdatePodStatus(pod *corev1.Pod) error
	DeletePod(pod *corev1.Pod, grace bool) error
	PatchPod(pod *corev1.Pod, pt types.PatchType, data []byte, subresource []string) error

	CreateWorkerNode(worker *carbonv1.WorkerNode) (*carbonv1.WorkerNode, error)
	DeleteWorkerNode(worker *carbonv1.WorkerNode) error
	ReleaseWorkerNode(worker *carbonv1.WorkerNode) error
	UpdateWorkerStatus(worker *carbonv1.WorkerNode) error
	UpdateWorkerNode(wn *carbonv1.WorkerNode) error
	ListWorkerNodeForRS(selector map[string]string) ([]*carbonv1.WorkerNode, error)
	ListWorkerNodeByOwner(selector map[string]string, ownerKey string) ([]*carbonv1.WorkerNode, error)

	CreateServicePublisher(p *carbonv1.ServicePublisher) error
	DeleteServicePublisher(p *carbonv1.ServicePublisher) error
	UpdateServicePublisher(p *carbonv1.ServicePublisher) error
	UpdateServicePublisherStatus(p *carbonv1.ServicePublisher) error
	DeleteServicePublisherForRs(rs *carbonv1.RollingSet) error

	//CreateReplica(rs *carbonv1.RollingSet, r *carbonv1.Replica) (*carbonv1.Replica, error)
	UpdateReplica(rs *carbonv1.RollingSet, r *carbonv1.Replica) error
	ReleaseReplica(rs *carbonv1.RollingSet, r *carbonv1.Replica) error
	RemoveReplica(rs *carbonv1.RollingSet, r *carbonv1.Replica) error

	BatchCreateReplica(rs *carbonv1.RollingSet, rList []*carbonv1.Replica) (int, error)
	BatchUpdateReplica(rs *carbonv1.RollingSet, rList []*carbonv1.Replica) (int, error)
	BatchReleaseReplica(rs *carbonv1.RollingSet, rList []*carbonv1.Replica) (int, error)
	BatchRemoveReplica(rs *carbonv1.RollingSet, rList []*carbonv1.Replica) (int, error)

	UpdateReplicaStatus(r *carbonv1.Replica) error
	UpdateRollingSet(rs *carbonv1.RollingSet) (*carbonv1.RollingSet, error)
	UpdateRollingSetStatus(rs *carbonv1.RollingSet) error
	RemoveRollingSet(rs *carbonv1.RollingSet) error
	ListReplicaForRS(rs *carbonv1.RollingSet) ([]*carbonv1.Replica, error)

	CreateRollingSet(sg *carbonv1.ShardGroup, rs *carbonv1.RollingSet) (*carbonv1.RollingSet, error)
	UpdateShardGroup(sg *carbonv1.ShardGroup) error
	UpdateShardGroupStatus(sg *carbonv1.ShardGroup) error
	DeleteShardGroup(sg *carbonv1.ShardGroup) error

	BatchDoWorkerNodes(
		workersToCreate []*carbonv1.WorkerNode,
		workersToUpdate []*carbonv1.WorkerNode,
		workersToRelease []*carbonv1.WorkerNode,
	) (int, error, int, error, int, error)
}

ResourceManager is interface to manage resource

func NewResourceManager

func NewResourceManager(
	kubeclientset kubernetes.Interface,
	carbonclientset clientset.Interface,
) ResourceManager

NewResourceManager create SimpleResourceManager

func NewSimpleResourceManager

func NewSimpleResourceManager(
	kubeclientset kubernetes.Interface,
	carbonclientset clientset.Interface,
	workerNodeIndexer cache.Indexer,
	podIndexer cache.Indexer,
	expectations *k8scontroller.UIDTrackingControllerExpectations) ResourceManager

NewSimpleResourceManager create SimpleResourceManager

type SimpleResourceManager

type SimpleResourceManager struct {
	// contains filtered or unexported fields
}

SimpleResourceManager apiservice 资源处理类

func (*SimpleResourceManager) BatchCreateReplica

func (a *SimpleResourceManager) BatchCreateReplica(rs *carbonv1.RollingSet, rList []*carbonv1.Replica) (int, error)

BatchCreateReplica 批量创建replica

func (*SimpleResourceManager) BatchDoWorkerNodes

func (a *SimpleResourceManager) BatchDoWorkerNodes(
	workersToCreate []*carbonv1.WorkerNode,
	workersToUpdate []*carbonv1.WorkerNode,
	workersToRelease []*carbonv1.WorkerNode,
) (int, error, int, error, int, error)

BatchDoWorkerNodes BatchDoWorkerNodes bacther复用 for memkube

func (*SimpleResourceManager) BatchReleaseReplica

func (a *SimpleResourceManager) BatchReleaseReplica(rs *carbonv1.RollingSet, rList []*carbonv1.Replica) (int, error)

BatchReleaseReplica 批量释放replica

func (*SimpleResourceManager) BatchRemoveReplica

func (a *SimpleResourceManager) BatchRemoveReplica(rs *carbonv1.RollingSet, rList []*carbonv1.Replica) (int, error)

BatchRemoveReplica 批量删除replica

func (*SimpleResourceManager) BatchUpdateReplica

func (a *SimpleResourceManager) BatchUpdateReplica(rs *carbonv1.RollingSet, rList []*carbonv1.Replica) (int, error)

BatchUpdateReplica 批量更新replica

func (SimpleResourceManager) CreatePod

func (a SimpleResourceManager) CreatePod(pod *corev1.Pod) (*corev1.Pod, error)

CreatePod create pod

func (*SimpleResourceManager) CreateReplica

CreateReplica 创建replica资源, 增加了创建约束,不能直接调用。 改用批量接口

func (*SimpleResourceManager) CreateRollingSet

CreateRollingSet is used by shardGroup to crate rollingSet

func (*SimpleResourceManager) CreateServicePublisher

func (a *SimpleResourceManager) CreateServicePublisher(p *carbonv1.ServicePublisher) error

CreateServicePublisher create obj

func (*SimpleResourceManager) CreateWorkerNode

func (a *SimpleResourceManager) CreateWorkerNode(worker *carbonv1.WorkerNode) (*carbonv1.WorkerNode, error)

CreateWorkerNode 创建workernode

func (*SimpleResourceManager) DeletePod

func (a *SimpleResourceManager) DeletePod(pod *corev1.Pod, grace bool) error

DeletePod delete pod

func (*SimpleResourceManager) DeleteServicePublisher

func (a *SimpleResourceManager) DeleteServicePublisher(p *carbonv1.ServicePublisher) error

DeleteServicePublisher delete obj

func (*SimpleResourceManager) DeleteServicePublisherForRs

func (a *SimpleResourceManager) DeleteServicePublisherForRs(rs *carbonv1.RollingSet) error

DeleteServicePublisherForRs delete obj

func (*SimpleResourceManager) DeleteShardGroup

func (a *SimpleResourceManager) DeleteShardGroup(sg *carbonv1.ShardGroup) error

DeleteShardGroup is to delete a shardGroup

func (*SimpleResourceManager) DeleteWorkerNode

func (a *SimpleResourceManager) DeleteWorkerNode(worker *carbonv1.WorkerNode) error

DeleteWorkerNode 删除workernode

func (*SimpleResourceManager) ListReplicaForRS

func (a *SimpleResourceManager) ListReplicaForRS(rs *carbonv1.RollingSet) ([]*carbonv1.Replica, error)

ListReplicaForRS list replicas for rollingset

func (*SimpleResourceManager) ListWorkerNodeByOwner

func (a *SimpleResourceManager) ListWorkerNodeByOwner(selector map[string]string, ownerKey string) ([]*carbonv1.WorkerNode, error)

ListWorkerNodeByOwner ListWorkerNodeByOwner

func (*SimpleResourceManager) ListWorkerNodeForRS

func (a *SimpleResourceManager) ListWorkerNodeForRS(selector map[string]string) ([]*carbonv1.WorkerNode, error)

ListWorkerNodeForRS list workernodes for rollingset

func (*SimpleResourceManager) PatchPod

func (a *SimpleResourceManager) PatchPod(pod *corev1.Pod, pt types.PatchType, data []byte, subresource []string) error

PatchPod PatchPod

func (*SimpleResourceManager) ReleaseReplica

func (a *SimpleResourceManager) ReleaseReplica(rs *carbonv1.RollingSet, r *carbonv1.Replica) error

ReleaseReplica 释放replica

func (*SimpleResourceManager) ReleaseWorkerNode

func (a *SimpleResourceManager) ReleaseWorkerNode(worker *carbonv1.WorkerNode) error

ReleaseWorkerNode 释放WorkerNode和对应的pod

func (*SimpleResourceManager) RemoveReplica

func (a *SimpleResourceManager) RemoveReplica(rs *carbonv1.RollingSet, r *carbonv1.Replica) error

RemoveReplica 移除

func (*SimpleResourceManager) RemoveRollingSet

func (a *SimpleResourceManager) RemoveRollingSet(rs *carbonv1.RollingSet) error

RemoveRollingSet 移除RollingSet

func (*SimpleResourceManager) UpdatePodSpec

func (a *SimpleResourceManager) UpdatePodSpec(pod *corev1.Pod) error

UpdatePodSpec update pod spec

func (*SimpleResourceManager) UpdatePodStatus

func (a *SimpleResourceManager) UpdatePodStatus(pod *corev1.Pod) error

UpdatePodStatus update pod status only for memkube pod

func (*SimpleResourceManager) UpdateReplica

func (a *SimpleResourceManager) UpdateReplica(rs *carbonv1.RollingSet, r *carbonv1.Replica) error

UpdateReplica 更新replica

func (*SimpleResourceManager) UpdateReplicaStatus

func (a *SimpleResourceManager) UpdateReplicaStatus(r *carbonv1.Replica) error

UpdateReplicaStatus 更新replica

func (*SimpleResourceManager) UpdateRollingSet

func (a *SimpleResourceManager) UpdateRollingSet(rs *carbonv1.RollingSet) (*carbonv1.RollingSet, error)

UpdateRollingSet spec 更新

func (*SimpleResourceManager) UpdateRollingSetStatus

func (a *SimpleResourceManager) UpdateRollingSetStatus(rs *carbonv1.RollingSet) error

UpdateRollingSetStatus status 更新

func (*SimpleResourceManager) UpdateServicePublisher

func (a *SimpleResourceManager) UpdateServicePublisher(p *carbonv1.ServicePublisher) error

UpdateServicePublisher update obj

func (*SimpleResourceManager) UpdateServicePublisherStatus

func (a *SimpleResourceManager) UpdateServicePublisherStatus(p *carbonv1.ServicePublisher) error

UpdateServicePublisherStatus update obj status

func (*SimpleResourceManager) UpdateShardGroup

func (a *SimpleResourceManager) UpdateShardGroup(sg *carbonv1.ShardGroup) error

UpdateShardGroup is used by shardGroup to update spec

func (*SimpleResourceManager) UpdateShardGroupStatus

func (a *SimpleResourceManager) UpdateShardGroupStatus(sg *carbonv1.ShardGroup) error

UpdateShardGroupStatus is uesd by shardGroupController to update status

func (*SimpleResourceManager) UpdateWorkerNode

func (a *SimpleResourceManager) UpdateWorkerNode(workernode *carbonv1.WorkerNode) error

UpdateWorkerNode 更新workernode

func (*SimpleResourceManager) UpdateWorkerStatus

func (a *SimpleResourceManager) UpdateWorkerStatus(worker *carbonv1.WorkerNode) error

UpdateWorkerStatus update worker status

Directories

Path Synopsis
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL