k8sailor: 自己写一个 Kubernetes 控制台
Toggle Dark/Light/Auto modeToggle Dark/Light/Auto modeToggle Dark/Light/Auto modeBack to homepage

01 Install K3s Cluster

搭建 k3s 集群

安装

k3s 安装过程参考

https://tangx.in/2021/06/07/k3s-architecture-single-server/

k3s 集群版本为 v1.21.4。 因此 k8s client-go sdk 的版本也需要安装对应版本


# curl -sfL http://rancher-mirror.cnrancher.com/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -

[INFO]  Finding release for channel stable
[INFO]  Using v1.21.4+k3s1 as release
[INFO]  Downloading hash http://rancher-mirror.cnrancher.com/k3s/v1.21.4-k3s1/sha256sum-amd64.txt
[INFO]  Downloading binary http://rancher-mirror.cnrancher.com/k3s/v1.21.4-k3s1/k3s
[INFO]  Verifying binary download
[INFO]  Installing k3s to /usr/local/bin/k3s

... 省略

初始化环境

通过命令创建一些工作负载, 以便后续 k8s api 调用查看

这里创建了两个 deployment:

  • my-nginx-1 : 1 个 pod
  • my-nginx-2 : 2 个 pod
# kubectl create deployment my-nginx-1 --image=nginx:alpine
deployment.apps/my-nginx-1 created

# kubectl create deployment my-nginx-2 --image=nginx:alpine --replicas=2
deployment.apps/my-nginx-2 created

通过 kubectl 命令查看结果

# kubectl get pod

NAME                          READY   STATUS    RESTARTS   AGE
my-nginx-1-6d9577949b-98hzv   1/1     Running   0          105s
my-nginx-2-cd544c6f7-sf68x    1/1     Running   0          91s
my-nginx-2-cd544c6f7-zm974    1/1     Running   0          91s

复制 k3s config 文件

之后将使用 config 文件的访问链接访问 k3s 集群。

下载 config /etc/rancher/k3s/k3s.yaml 文件到本地, 并修改链接地址。

apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: XXXXXXyyyyzzzzz
    server: https://your-k3s-host:6443
  name: default
# ... 省略

目录结构

# tree
.
├── README.md
├── cmd
│   └── k8sailor
│       ├── k8sconfig
│       │   └── config.yml
│       └── main.go