client-go 全系列之二 ——《go 项目设置》

1 前言

  上节介绍了 client-go 和 GO SDK 安装,本小节介绍 GO 项目配置,并给出一个 GO 项目实例。


2 运行环境

  本系列文章使用的环境配置如下(不要求读者完全匹配,可根据自己实际情况酌情处理):

  • K8s 版本 : 1.19.0
  • Docker 版本:20.10.8
  • CentOS 版本:7.7.1908
  • Go SDK 版本:go1.16.6 linux/amd64

3 项目设置

  进行 GO 项目开发一般需要两个步骤:

  • 创建项目根目录
  • 设置 GOPATH

3.1 创建项目根目录

  好的目录结构往往是项目成功的开始,执行下列命令创建项目根目录,以后所有 GO 项目开发都统一在此根目录之下:

# /root/go 是项目的根目录
[root@jiuxi ~]# mkdir -p /root/go
[root@jiuxi ~]# mkdir -p /root/go/bin /root/go/src /root/go/pkg
[root@jiuxi ~]# tree /root/go
/root/go
├── bin
├── pkg
└── src

3 directories, 0 files

  目录结构说明如下:

  • bin: go 二进制可执行程序的存放路径,比如通过 go install 生成的代码
  • pkg: 项目开发过程中,三方依赖库的存放路径
  • src: 项目源码存放路径,一般我们编写的项目代码都放在此处

3.2 设置 GOPATH

  GO SDK 需要设置 GOROOT 环境变量,用来存储 GO SDK 的安装路径。

  GO 项目开发需要设置 GOPATH 环境变量,用来存储 GO 项目的根目录。

  编辑 /etc/profile 文件,在文件末尾添加如下指令:

export GOPATH=/root/go
export PATH=$PATH:$GOPATH/bin

  保存文件,然后在命令行执行如下命令使配置生效:

[root@jiuxi go]# source /etc/profile
[root@jiuxi go]# echo $GOPATH
/root/go

  如果执行结果如上所示,说明 GOPATH 设置成功。


4 项目样例

  一切都准备就绪,可以写个小项目练练手了。

4.1 创建项目

  执行如下命令创建 client-go-quick-start 项目,注意一定要在 $GOPATH/src 路径下创建。

[root@jiuxi go]# cd $GOPATH/src
[root@jiuxi src]# mkdir client-go-quick-start
[root@jiuxi src]# tree $GOPATH/src
/root/go/src
└── client-go-quick-start

1 directory, 0 files

4.2 编写代码

  在 client-go-quick-start 目录下创建 main.go 文件,内容如下:

package main

import "fmt"

func main() {
    fmt.Println( "client-go quick start tutorial" )
}

4.3 运行代码

  执行下面命令运行 main.go 程序:

[root@jiuxi client-go-quick-start]# go run main.go 
client-go quick start tutorial

  如果执行结果如上所示,说明程序运行正常,此时读者可以暂时放松一下,泡杯咖啡犒劳一下自己,因为从下节开始我们将正式开启 client-go 操作 K8S 旅程,请调整一下坐姿,我们发车了。