概述
go mod 的使用
.
├── Dockerfile
# 多阶段构建
├── README.md
├── debug-sample
# 调试过程中创建的资源,可以忽略
│ ├── deploy.yaml
│ ├── service.yaml
│ ├── test-tls-pod.yaml
│ ├── test-webhook-pod.yaml
│ └── validata.yaml
├── deploy
# 部署和删除
│ ├── auto-deploy.yaml
│ └── uninstall.sh
├── download-deps.sh
# 拉取 k8s.io/kubernetes依赖
├── etc
# 测试时候使用的
可以忽略
│ └── webhook
│
└── certs
│
├── tls.crt
│
└── tls.key
├── go.mod
# 依赖
├── go.sum
├── pkg
# 业务区
│ ├── utils.go
# 连接 k8s 集群
│ └── webhook.go
# webhook server 端,负责处理逻辑,实现准入控制,根据 admissionreview 返回 response
├── test-sample
# 部署后的测试,在白名单和不在白名单中的 pod ,以及给 service 添加 annotation 测试等
│ ├── test-deploy1.yaml
│ ├── test-deploy2.yaml
│ ├── test-pod.yaml
│ └── test-pod1.yaml
├── tls
# initContainer 使用,创建 CA 机构和 Server 端证书,同时用 CA 机构证书构建 validate 和 mutate 资源
│ └── main.go
└── webhook
# 连接 k8s 集群,根据请求的路径,调用后端处理程序,就是 pkg 目录下的 webhook.go
└── main.go
go mod 的创建
// go mod init github.com/oceanweave/admission-webhook-sample
// go mod tidy
module github.com/oceanweave/admission-webhook-sample
go 1.17
require (
k8s.io/api v0.21.1
k8s.io/apimachinery v0.21.1
k8s.io/client-go v1.5.2
k8s.io/klog v1.0.0
)
文件的引用
若在 webhook 目录的 main.go 函数中引用 pkg 目录中的 webhook.go 中的函数,该怎么应用呢?
答:go mod 名 + 目录名
import "github.com/oceanweave/admission-webhook-sample/pkg"
最后
以上就是潇洒抽屉为你收集整理的【k8s admission 学习】go mod引用同项目go文件技巧的全部内容,希望文章能够帮你解决【k8s admission 学习】go mod引用同项目go文件技巧所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复