南君手记
  • 持续专注
  • Docker
    • Azure容器镜像代理服务失效
    • registry镜像加速器拉取谷歌镜像
    • 简单镜像加速
    • registry拉取dockerhub私有镜像
  • Golang
    • standard_init_linux.go:190: exec user process caused "no such file or directory
    • flota64后面保留三位小数
    • 数组赋值问题
    • append函数的使用方式
    • 错误返回非空的值
    • 数组类型转换
    • 强制类型转换
    • for循环之迭代变量
    • 切片长度
    • Map面试题
    • 指针方法&值方法
  • Gitbook
  • 油管知识汇
  • 穷查理宝典
    • 一些箴言
  • 自省
  • 技术调研
    • gomonkey
    • goconvey调研学习
    • Github认证调研
  • kubenetes
    • 利用NFS动态提供Kubernetes后端存储卷
    • k8s CRD(一)quick start
  • Tekton
    • Tekton Dashboard
    • tekton之Task&TaskRun概念篇
    • tekton简单介绍及安装
  • 哈佛的6堂独立思考课
由 GitBook 提供支持
在本页
  • k8s CRD(一)quick start
  • 1.安装CRD所需环境
  • 2.开始安装
  • 3.构建CRD镜像并部署进k8s
  • 4.卸载CRD

这有帮助吗?

  1. kubenetes

k8s CRD(一)quick start

上一页利用NFS动态提供Kubernetes后端存储卷下一页Tekton

最后更新于5年前

这有帮助吗?

k8s CRD(一)quick start

1.安装CRD所需环境

1、去找一个k8s集群 2、找一台master节点(可以用kuberctl命令的即可),安装golang,配置好Gopath

2.开始安装

访问

os=$(go env GOOS)
arch=$(go env GOARCH)
curl -L https://go.kubebuilder.io/dl/2.3.0/${os}/${arch} | tar -xz -C /tmp/ #下载包并放到/tmp下
sudo mv /tmp/kubebuilder_2.3.0_${os}_${arch} /usr/local/kubebuilder #拷贝到/usr/local/kubebuilder下
export PATH=$PATH:/usr/local/kubebuilder/bin ##最好放在/etc/profile。然后source /etc/profile

这边可能下载不下来包,你可以访问这个网址

上面完成后,试一下kubebuilder --help会出现指导就算安装完成 接下来创建一个简单的CRD

mkdir $GOPATH/src/example
cd $GOPATH/src/example
export GO111MODULE=on 
export GOPROXY=https://goproxy.io
kubebuilder init --domain my.domain ##这边会拉取很多包
kubebuilder create api --group webapp --version v1 --kind Guestbook
要是遇到:/bin/sh: kustomize: command not found
那就:go get github.com/kubernetes-sigs/kustomize
make install
make run

要是上述步骤没抱什么其他错的话,那就说明你的CRD controller已经部署在集群了,运行以下命令查看:

kubectl get crd
会看到如下:
guestbooks.webapp.my.domain            2020-03-10T04:23:03Z

可以在源码目录下看到config文件下有个sample文件夹,里面有例子:

kubectl apply -f config/samples/
然后
kubectl get guestbook
返回
NAME               AGE
guestbook-sample   29s

那就完成了一个简单的CRD demo了

3.构建CRD镜像并部署进k8s

构建镜像并推送至你的镜像仓库

make docker-build docker-push IMG=<some-registry>/<project-name>:tag

指定镜像将controller部署进你的集群

make deploy IMG=<some-registry>/<project-name>:tag

4.卸载CRD

make uninstall
kubebuilder指导手册
https://go.kubebuilder.io/dl/2.3.0。自己下载就行