Appearance
Default Storage Class
Intro: https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#defaultstorageclass
Registration of default admissions plugins
There's a set of default admission plugins enabled https://cs.github.com/kubernetes/kubernetes/blob/afb0136d6235201a89a426f071b8957a5a1b79ef/pkg/kubeapiserver/options/admission.go#L59
go
func NewAdmissionOptions() *AdmissionOptions {
options := genericoptions.NewAdmissionOptions()
// register all admission plugins
// including the DefaultStorageClass admission plugin
RegisterAllAdmissionPlugins(options.Plugins)
// set RecommendedPluginOrder
options.RecommendedPluginOrder = AllOrderedPlugins
// set DefaultOffPlugins
options.DefaultOffPlugins = DefaultOffAdmissionPlugins()
return &AdmissionOptions{
GenericAdmission: options,
}
}go
import (
"k8s.io/kubernetes/plugin/pkg/admission/storage/storageclass/setdefault"
)
func RegisterAllAdmissionPlugins(plugins *admission.Plugins) {
// ...
// NOTE: setdefault is the name of the import for the DefaultStorageClass plugin
setdefault.Register(plugins)
// ...
}go
// Register registers a plugin
func Register(plugins *admission.Plugins) {
plugins.Register(PluginName, func(config io.Reader) (admission.Interface, error) {
plugin := newPlugin()
return plugin, nil
})
}