我是靠谱客的博主 潇洒抽屉,最近开发中收集的这篇文章主要介绍【k8s admission 学习】go mod引用同项目go文件技巧,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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文件技巧所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(341)

评论列表共有 0 条评论

立即
投稿
返回
顶部