1、ubuntu基础环境
# 更新apt软件源
sudo apt update# 安装git
sudo apt install git# 安装python3
sudo apt install -y python3 python3-pip# 安装vim
sudo apt install vim
2、安装go
2.1 下载go安装包
wget https://golang.google.cn/dl/go1.23.2.linux-amd64.tar.gz
2.2 安装go
解压到指定文件中
sudo tar -C /usr/local -xzf go1.23.2.linux-amd64.tar.gz
此举相当于把gopath安装到了/usr/local/go。
$ ls /usr/local/go/
api codereview.cfg doc lib misc pkg SECURITY.md test
bin CONTRIBUTING.md go.env LICENSE PATENTS README.md src VERSION
2.3 设置go环境变量:
sudo vim 打开~/.bashrc文件,追加导出命令
export PATH=$PATH:/usr/local/go/bin
生效环境变量:
source ~/.bashrc
2.4 验证
查看版本:
$ go version
go version go1.23.2 linux/amd64
查看安装位置:
$ which go
/usr/local/go/bin/go
3、安装docker
3.1 安装docker依赖
sudo apt-get install ca-certificates curl gnupg lsb-release
3.2 添加Docker官方GPG密钥
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
3.3 添加Docker软件源
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
3.4 安装docker
apt-get install docker-ce docker-ce-cli containerd.io
3.5 配置用户组(可选)
默认情况下,只有root用户和docker组的用户才能运行Docker命令。我们可以将当前用户添加到docker组,以避免每次使用Docker时都需要使用sudo。命令如下:
sudo usermod -aG docker $USER
3.6 运行docker
systemctl start docker
3.7 安装工具
sudo apt -y install apt-transport-https ca-certificates curl software-properties-common
3.8 重启docker
service docker restart
3.9 验证
$ sudo systemctl status docker
● docker.service - Docker Application Container EngineLoaded: loaded (/usr/lib/systemd/system/docker.service; enabled; preset: e>Active: active (running) since Thu 2024-10-03 15:06:06 CST; 15s ago
TriggeredBy: ● docker.socketDocs: https://docs.docker.comMain PID: 14875 (dockerd)Tasks: 14Memory: 21.8M (peak: 24.1M)CPU: 303msCGroup: /system.slice/docker.service└─14875 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/con>
4、安装kubectl & helm
# 安装 kubectl
sudo snap install kubectl --classic# 安装 helm
sudo snap install helm--classic
验证kubectl
$ kubectl version
Client Version: v1.31.1
Kustomize Version: v5.4.2
The connection to the server localhost:8080 was refused - did you specify the right host or port?
验证helm
$ helm version
version.BuildInfo{Version:"v3.16.1", GitCommit:"5a5449dc42be07001fd5771d56429132984ab3ab", GitTreeState:"clean", GoVersion:"go1.22.7"}
5、安装kubebuilder
github仓库:地址
kubebuilder的官方文档:
- 英文版
- 中文版
- 需要注意:英文版目前最新的是v4版本的,中文版还停留在v2版本
推荐书籍:
- 《Kubenetes Operator 开发进阶》胡涛
安装方法:
- 官方文档方法:
- 安装最新发行版本:
# download kubebuilder and install locally.
curl -L -o kubebuilder "https://go.kubebuilder.io/dl/latest/$(go env GOOS)/$(go env GOARCH)"
chmod +x kubebuilder && mv kubebuilder /usr/local/bin/
- 安装github代码仓库中,master分支:
curl -L -o kubebuilder "https://go.kubebuilder.io/dl/master/$(go env GOOS)/$(go env GOARCH)"
chmod +x kubebuilder && mv kubebuilder /usr/local/bin/
- 可能遇到的问题:curl下载失败,比如报错:curl: (35) Encountered end of file。此时推荐使用安装方法二
- 直接下载kubenetes的可执行文件
- 先到 github 上找到你需要的发行版本:https://github.com/kubernetes-sigs/kubebuilder/releases
- 比如我要安装4.2.0,则点击进去:https://github.com/kubernetes-sigs/kubebuilder/releases/tag/v4.2.0
- 在页面最下面的Assets中,找到所需OS和Arch的安装包,点击即可下载。比如我是linux的arm,就下载这个
# 查看os
go env GOOS
# 查看架构
go env GOARCH
- 如果网络ok,也可以直接wget进行下载
#!/bin/bash
wget https://github.com/kubernetes-sigs/kubebuilder/releases/download/v4.2.0/kubebuilder_linux_amd64 -O kubebuilder
- 进行安装
mv /Users/king/Downloads/kubebuilder_darwin_arm64 ./kubebuilder
chmod +x kubebuilder && sudo mv kubebuilder /usr/local/bin/
- 验证安装
$ kubebuilder version
Version: main.version{KubeBuilderVersion:"4.2.0", KubernetesVendor:"1.31.0", GitCommit:"c7cde5172dc8271267dbf2899e65ef6f9d30f91e", BuildDate:"2024-08-17T09:41:45Z", GoOs:"linux", GoArch:"amd64"}
6、安装Kind
官方github仓库地址:https://github.com/kubernetes-sigs/kind.git
国内镜像仓库地址:https://gitcode.com/gh_mirrors/ki/kind/overview
目前最新的tag版本是v0.24.0
# 查看os
go env GOOS
# 查看架构
go env GOARCH
7.1 下载Kind
curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.24.0/kind-linux-amd64
7.2 安装kind
chmod +x ./kind && sudo mv ./kind /usr/local/bin/kind
7.3 验证kind版本
kind --version
kind version 0.24.0
8、开发工具
- 必须开启go mod,GO111MODULE=on
- 代理地址推荐:
- 七牛云:https://goproxy.cn 推荐,可解决依赖问题
- 阿里云:https://mirrors.aliyun.com/goproxy/ 不推荐,某些包依然无法下载
- 腾讯:https://goproxy.io,不推荐,有些包无法下载
- 开发工具推荐:
- goland:推荐,但是收费
- idea:可以装go插件,但是可能没有goland适配的好
- vscode:比较轻量级,但是开发不太方便