kubebuilder实战之二:初次体验kubebuilder,目前最全的Java架构师成长路线

cd $GOPATH/src/helloworld

make install

  1. 控制台输出如下内容,提示部署成功:

[root@kubebuilder helloworld]# make install

/root/gopath/bin/controller-gen “crd:trivialVersions=true” rbac:roleName=manager-role webhook paths=“./…” output:crd:artifacts:config=config/crd/bases

kustomize build config/crd | kubectl apply -f -

Warning: apiextensions.k8s.io/v1beta1 CustomResourceDefinition is deprecated in v1.16+, unavailable in v1.22+; use apiextensions.k8s.io/v1 CustomResourceDefinition

customresourcedefinition.apiextensions.k8s.io/guestbooks.webapp.com.bolingcavalry created

编译和运行controller

  1. kubebuilder自动生成的controller源码地址是:$GOPATH/src/helloworld/controllers/guestbook_controller.go , 内容如下:

package controllers

import (

“context”

“github.com/go-logr/logr”

“k8s.io/apimachinery/pkg/runtime”

ctrl “sigs.k8s.io/controller-runtime”

“sigs.k8s.io/controller-runtime/pkg/client”

webappv1 “helloworld/api/v1”

)

// GuestbookReconciler reconciles a Guestbook object

type GuestbookReconciler struct {

client.Client

Log logr.Logger

Scheme *runtime.Scheme

}

// +kubebuilder:rbac:groups=webapp.com.bolingcavalry,resources=guestbooks,verbs=get;list;watch;create;update;patch;delete

// +kubebuilder:rbac:groups=webapp.com.bolingcavalry,resources=guestbooks/status,verbs=get;update;patch

func (r *GuestbookReconciler) Reconcile(req ctrl.Request) (ctrl.Result, error) {

_ = context.Background()

_ = r.Log.WithValues(“guestbook”, req.NamespacedName)

// your logic here

return ctrl.Result{}, nil

}

func (r *GuestbookReconciler) SetupWithManager(mgr ctrl.Manager) error {

return ctrl.NewControllerManagedBy(mgr).

For(&webappv1.Guestbook{}).

Complete®

}

  1. 本文以体验基本流程为主,不深入研究源码,所以对上面的代码仅做少量修改,用于验证是否能生效,改动如下图红框所示:

在这里插入图片描述

  1. 执行以下命令,会编译并启动刚才修改的controller:

cd $GOPATH/src/helloworld

make run

  1. 此时控制台输出以下内容,这里要注意,controller是在kubebuilder电脑上运行的,一旦使用Ctrl+c中断控制台,就会导致controller停止:

[root@kubebuilder helloworld]# make run

/root/gopath/bin/controller-gen object:headerFile=“hack/boilerplate.go.

  • 12
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值