首页 > 其他 > 详细

package controllerutil

时间:2020-06-15 12:15:16      阅读:56      评论:0      收藏:0      [点我收藏+]

原文链接:https://s0godoc0org.icopy.site/sigs.k8s.io/controller-runtime/pkg/controller/controllerutil

import "sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"

软件包controllerutil包含用于使用和实现Controller的实用程序功能.

demo

package main

import (
    "context"

    appsv1 "k8s.io/api/apps/v1"
    corev1 "k8s.io/api/core/v1"
    metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"

    "sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"
    logf "sigs.k8s.io/controller-runtime/pkg/log"
)

var (
    log = logf.Log.WithName("controllerutil-examples")
)

// This example creates or updates an existing deployment
func main() {
    // c is client.Client

    // Create or Update the deployment default/foo
    deploy := &appsv1.Deployment{ObjectMeta: metav1.ObjectMeta{Name: "foo", Namespace: "default"}}

    op, err := controllerutil.CreateOrUpdate(context.TODO(), c, deploy, func() error {

        // Deployment selector is immutable so we set this value only if
        // a new object is going to be created
        if deploy.ObjectMeta.CreationTimestamp.IsZero() {
            deploy.Spec.Selector = &metav1.LabelSelector{
                MatchLabels: map[string]string{"foo": "bar"},
            }
        }

        // update the Deployment pod template
        deploy.Spec.Template = corev1.PodTemplateSpec{
            ObjectMeta: metav1.ObjectMeta{
                Labels: map[string]string{
                    "foo": "bar",
                },
            },
            Spec: corev1.PodSpec{
                Containers: []corev1.Container{
                    {
                        Name:  "busybox",
                        Image: "busybox",
                    },
                },
            },
        }

        return nil
    })

    if err != nil {
        log.Error(err, "Deployment reconcile failed")
    } else {
        log.Info("Deployment successfully reconciled", "operation", op)
    }
}

 

package controllerutil

原文:https://www.cnblogs.com/wangjq19920210/p/13129550.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!