前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >kubebuilder怎么开始

kubebuilder怎么开始

作者头像
waki
发布2023-10-17 18:24:47
4040
发布2023-10-17 18:24:47
举报
文章被收录于专栏:waki

kubebuilder怎么开始

代码语言:javascript
复制
# 官网:https://book.kubebuilder.io/quick-start#create-a-project

版本
#go1.19、go1.20(官方文档里的版本)都不行
go1.18
docker 20.10.0
kubectl 1.21.14
kubebuilder 3.5 #https://github.com/kubernetes-sigs/kubebuilder/releases
步骤:
chmod +x kubebuilder && mv kubebuilder {你的GOPATH}/bin/
create api 一直报错,竟然是go安装的问题

报错内容:

代码语言:javascript
复制
kubebuilder create api --group webapp --version v1 --kind Guestbook
Create Resource [y/n]
y
Create Controller [y/n]
y
Writing kustomize manifests for you to edit...
Writing scaffold for you to edit...
api/v1/guestbook_types.go
controllers/guestbook_controller.go
Update dependencies:
$ go mod tidy
Running make:
$ make generate
mkdir -p /root/k8s/operatortest/bin
GOBIN=/root/k8s/operatortest/bin go install sigs.k8s.io/controller-tools/cmd/controller-gen@v0.9.0
# runtime/internal/sys
/usr/local/go/src/runtime/internal/sys/consts.go:13:7: StackGuardMultiplier redeclared in this block
        /usr/local/go/src/runtime/internal/sys/arch.go:27:7: other declaration of StackGuardMultiplier
/usr/local/go/src/runtime/internal/sys/consts.go:16:7: DefaultPhysPageSize redeclared in this block
        /usr/local/go/src/runtime/internal/sys/arch.go:36:7: other declaration of DefaultPhysPageSize
/usr/local/go/src/runtime/internal/sys/consts.go:20:7: PCQuantum redeclared in this block
        /usr/local/go/src/runtime/internal/sys/arch.go:40:7: other declaration of PCQuantum
/usr/local/go/src/runtime/internal/sys/consts.go:23:7: Int64Align redeclared in this block
        /usr/local/go/src/runtime/internal/sys/arch.go:43:7: other declaration of Int64Align
/usr/local/go/src/runtime/internal/sys/consts.go:30:7: MinFrameSize redeclared in this block
        /usr/local/go/src/runtime/internal/sys/arch.go:50:7: other declaration of MinFrameSize
/usr/local/go/src/runtime/internal/sys/consts.go:34:7: StackAlign redeclared in this block
        /usr/local/go/src/runtime/internal/sys/arch.go:54:7: other declaration of StackAlign
/usr/local/go/src/runtime/internal/sys/stubs.go:9:7: PtrSize redeclared in this block
        /usr/local/go/src/runtime/internal/sys/arch.go:24:7: other declaration of PtrSize
/usr/local/go/src/runtime/internal/sys/stubs.go:10:24: undefined: Uintreg
/usr/local/go/src/runtime/internal/sys/stubs.go:16:7: StackGuardMultiplier redeclared in this block
        /usr/local/go/src/runtime/internal/sys/arch.go:27:7: other declaration of StackGuardMultiplier
# math
/usr/local/go/src/math/acosh.go:42:6: Acosh defined in both Go and assembly
/usr/local/go/src/math/asin.go:19:6: Asin defined in both Go and assembly
/usr/local/go/src/math/asin.go:56:6: Acos defined in both Go and assembly
/usr/local/go/src/math/asinh.go:39:6: Asinh defined in both Go and assembly
/usr/local/go/src/math/atan.go:95:6: Atan defined in both Go and assembly
/usr/local/go/src/math/atan2.go:29:6: Atan2 defined in both Go and assembly
/usr/local/go/src/math/atanh.go:47:6: Atanh defined in both Go and assembly
/usr/local/go/src/math/cbrt.go:25:6: Cbrt defined in both Go and assembly
/usr/local/go/src/math/erf.go:188:6: Erf defined in both Go and assembly
/usr/local/go/src/math/erf.go:272:6: Erfc defined in both Go and assembly
/usr/local/go/src/math/erf.go:272:6: too many errors
make: *** [/root/k8s/operatortest/bin/controller-gen] Error 2
Error: failed to create API: unable to run post-scaffold tasks of "base.go.kubebuilder.io/v3": exit status 2

测试办法:

代码语言:javascript
复制
#测试办法:
go install sigs.k8s.io/controller-tools/cmd/controller-gen@v0.9.0
报错如下:
/*
# runtime/internal/sys
/usr/local/go/src/runtime/internal/sys/consts.go:13:7: StackGuardMultiplier redeclared in this block
        /usr/local/go/src/runtime/internal/sys/arch.go:27:7: other declaration of StackGuardMultiplier
/usr/local/go/src/runtime/internal/sys/consts.go:16:7: DefaultPhysPageSize redeclared in this block
        /usr/local/go/src/runtime/internal/sys/arch.go:36:7: other declaration of DefaultPhysPageSize
/usr/local/go/src/runtime/internal/sys/consts.go:20:7: PCQuantum redeclared in this block
        /usr/local/go/src/runtime/internal/sys/arch.go:40:7: other declaration of PCQuantum
/usr/local/go/src/runtime/internal/sys/consts.go:23:7: Int64Align redeclared in this block
        /usr/local/go/src/runtime/internal/sys/arch.go:43:7: other declaration of Int64Align
/usr/local/go/src/runtime/internal/sys/consts.go:30:7: MinFrameSize redeclared in this block
        /usr/local/go/src/runtime/internal/sys/arch.go:50:7: other declaration of MinFrameSize
/usr/local/go/src/runtime/internal/sys/consts.go:34:7: StackAlign redeclared in this block
        /usr/local/go/src/runtime/internal/sys/arch.go:54:7: other declaration of StackAlign
/usr/local/go/src/runtime/internal/sys/stubs.go:9:7: PtrSize redeclared in this block
        /usr/local/go/src/runtime/internal/sys/arch.go:24:7: other declaration of PtrSize
/usr/local/go/src/runtime/internal/sys/stubs.go:10:24: undefined: Uintreg
/usr/local/go/src/runtime/internal/sys/stubs.go:16:7: StackGuardMultiplier redeclared in this block
        /usr/local/go/src/runtime/internal/sys/arch.go:27:7: other declaration of StackGuardMultiplier
# math
/usr/local/go/src/math/acosh.go:42:6: Acosh defined in both Go and assembly
/usr/local/go/src/math/asin.go:19:6: Asin defined in both Go and assembly
/usr/local/go/src/math/asin.go:56:6: Acos defined in both Go and assembly
/usr/local/go/src/math/asinh.go:39:6: Asinh defined in both Go and assembly
/usr/local/go/src/math/atan.go:95:6: Atan defined in both Go and assembly
/usr/local/go/src/math/atan2.go:29:6: Atan2 defined in both Go and assembly
/usr/local/go/src/math/atanh.go:47:6: Atanh defined in both Go and assembly
/usr/local/go/src/math/cbrt.go:25:6: Cbrt defined in both Go and assembly
/usr/local/go/src/math/erf.go:188:6: Erf defined in both Go and assembly
/usr/local/go/src/math/erf.go:272:6: Erfc defined in both Go and assembly
/usr/local/go/src/math/erf.go:272:6: too many errors
*/

解决办法

代码语言:javascript
复制
Had the same issue using wsl, completely remove go and reinstall solves the problem

sudo rm -rf /usr/local/go
自己去/home下remove path from .bashrc
sudo tar -C /usr/local -xzf go1.20.6.linux-amd64.tar.gz
#add PATH back to .bashrc solves the problem
#在linux中,bashrc文件在“/home”目录下,也即用户的主目录下;该文件是一个隐藏文件,用于存储并加载系统的终端配置和环境变量,可以用“ls -a”命令查看,用“find -name .bashrc”命令查找文件在什么位置。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-08-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • kubebuilder怎么开始
    • create api 一直报错,竟然是go安装的问题
    • 解决办法
    相关产品与服务
    容器服务
    腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档