You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
package v1alpha1
import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1""k8s.io/apimachinery/pkg/runtime"
)
// MemcachedSpec defines the desired state of MemcachedtypeMemcachedSpecstruct {
// +kubebuilder:pruning:PreserveUnknownFields// +kubebuilder:validation:Type=object// +kubebuilder:validation:OptionalAfficinity*runtime.RawExtension`json:"affinity,omitempty"`// +kubebuilder:pruning:PreserveUnknownFields// +kubebuilder:validation:Type=object// +kubebuilder:validation:OptionalPodOverrides*runtime.RawExtension`json:"podOverrides,omitempty"`
}
// MemcachedStatus defines the observed state of MemcachedtypeMemcachedStatusstruct {
}
//+kubebuilder:object:root=true//+kubebuilder:subresource:status// Memcached is the Schema for the memcacheds APItypeMemcachedstruct {
metav1.TypeMeta`json:",inline"`
metav1.ObjectMeta`json:"metadata,omitempty"`SpecMemcachedSpec`json:"spec,omitempty"`StatusMemcachedStatus`json:"status,omitempty"`
}
//+kubebuilder:object:root=true// MemcachedList contains a list of MemcachedtypeMemcachedListstruct {
metav1.TypeMeta`json:",inline"`
metav1.ListMeta`json:"metadata,omitempty"`Items []Memcached`json:"items"`
}
funcinit() {
SchemeBuilder.Register(&Memcached{}, &MemcachedList{})
}
---
apiVersion: apiextensions.k8s.io/v1kind: CustomResourceDefinitionmetadata:
annotations:
controller-gen.kubebuilder.io/version: v0.16.2name: memcacheds.cache.example.comspec:
group: cache.example.comnames:
kind: MemcachedlistKind: MemcachedListplural: memcachedssingular: memcachedscope: Namespacedversions:
- name: v1alpha1schema:
openAPIV3Schema:
description: Memcached is the Schema for the memcacheds APIproperties:
apiVersion:
description: |- APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resourcestype: stringkind:
description: |- Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kindstype: stringmetadata:
type: objectspec:
description: MemcachedSpec defines the desired state of Memcachedproperties:
affinity:
type: objectx-kubernetes-preserve-unknown-fields: truepodOverrides:
type: objectx-kubernetes-preserve-unknown-fields: truetype: objectstatus:
description: MemcachedStatus defines the observed state of Memcachedtype: objecttype: objectserved: truestorage: truesubresources:
status: {}
trace
Implement with memcached example
define go struct with kubebuilder
generate crd with controller-tool
crd
use json package to Unmarshal object
example CR
implemented controller logic
The text was updated successfully, but these errors were encountered: