快速部署一个 Kubernetes 开发环境

2024-05-16 17:22:19 浏览数 (1)

开发云原生应用必须要有 Kubernetes 环境,但是又不需要一个很复杂的 Kubernetes 环境。

毕竟,开发环境只要能保证日常开发工作即可,并非生产环境需要那么严谨。

只需要有一个虚拟机,使用开源的 KubeSphere 就可以快速部署出一个 Kubernetes 并有较好体验的管理它。

需要学习 Kubernetes 的话,也可以使用这种方式来部署一个把玩。

在线部署

  • 升级内核

内核版本要求:4.15 及更高版本。

  • 设置使用国内站点

在线部署依赖对 GitHub 的访问,没有成功日志输出就是执行失败了。

KubeSphere 提供了国内站点访问方式,直接使用国内站点即可,一定使用国内站点,以免浪费时间!

使用国内站点的方式很简单,配置一个环境变量即可。

代码语言:javascript复制
export KKZONE=cn
  • 下载安装⼯具 KubeKey
代码语言:javascript复制
# 下载安装工具 KubeKey
[root@desktop-22a1 ~]# curl -sfL https://get-kk.kubesphere.io | sh -

Downloading kubekey v3.0.13 from https://kubernetes.pek3b.qingstor.com/kubekey/releases/download/v3.0.13/kubekey-v3.0.13-linux-amd64.tar.gz ...


Kubekey v3.0.13 Download Complete!


# 下载内容展示
[root@desktop-54df ~]# ls
kk  kubekey-v3.1.1-linux-amd64.tar.gz

逻辑是基于一个在线的 downloadKubekey.sh 脚本来下载需要的安装包。

这个脚本应该可以识别当前环境的操作系统和 CPU 架构等,然后选择一个合适的 KubeKey 版本进行下载。

也可以把这个脚本下载下来,手动执行 sh downloadKubekey.sh 进行下载安装包。

curl 执行结束了,没有任何信息输出,查询目录下也没有任何新内容产生。

因为依赖对 GitHub 的访问,执行结束目录下没有内容,说明没有执行成功。有日志输出,才说明执行成功了。

  • 安装依赖工具
代码语言:javascript复制
yum install socat conntrack
  • 创建 Kubernetes 集群
代码语言:javascript复制
# 创建 Kubernetes 集群
./kk create cluster --skip-pull-images --with-local-storage  --with-kubernetes v1.25.4 --container-manager containerd  -y


# 安装 Kubernetes 成功,显示日志。
10:20:30 CST Pipeline[CreateClusterPipeline] execute successfully
Installation is complete.

Please check the result using the command:
                
        kubectl get pod -A



# 验证 Kubernetes 创建成功
# 这些 Not Running 状态,多等一会就会变成 Running 状态了。
# 大概需要 10 分钟左右,这些 Pod 状态才会都变成 Running 状态。
[root@desktop-54df ~]# kubectl get pod -A
NAMESPACE     NAME                                           READY   STATUS              RESTARTS   AGE
kube-system   calico-kube-controllers-66844f87f5-24jg7       0/1     ContainerCreating   0          12m
kube-system   calico-node-2hj62                              0/1     Init:2/3            0          12m
kube-system   coredns-65955f794f-nzvlr                       0/1     ContainerCreating   0          12m
kube-system   coredns-65955f794f-sc7c7                       0/1     ContainerCreating   0          12m
kube-system   kube-apiserver-desktop-54df                    1/1     Running             0          12m
kube-system   kube-controller-manager-desktop-54df           1/1     Running             0          12m
kube-system   kube-proxy-lj9lh                               1/1     Running             0          12m
kube-system   kube-scheduler-desktop-54df                    1/1     Running             0          12m
kube-system   nodelocaldns-l4fww                             1/1     Running             0          12m
kube-system   openebs-localpv-provisioner-5677c78f85-ltrrw   0/1     ContainerCreating   0          12m
代码语言:javascript复制
[root@desktop-54df ~]# ls
kk  kubekey  kubekey-v3.1.1-linux-amd64.tar.gz

创建 Kubernetes 集群需要的安装程序和安装包就这 3 个,把这些文件统一放在一个 KubeSphere-v3.1.1 文件夹中,下次将这个文件夹拷贝到其它环境,就可以直接离线安装了。

  • 安装 KubeSphere
代码语言:javascript复制
# 安装部署 KubeSphere
[root@desktop-22a1 ~]# helm upgrade --install -n kubesphere-system --create-namespace ks-core https://charts.kubesphere.io/main/ks-core-0.4.0.tgz
Release "ks-core" does not exist. Installing it now.
NAME: ks-core
LAST DEPLOYED: Tue Feb  6 13:49:02 2024
NAMESPACE: kubesphere-system
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
Please wait for several seconds for KubeSphere deployment to complete.

1. Make sure KubeSphere components are running:

     kubectl get pods -n kubesphere-system

2. Then you should be able to visit the console NodePort:

     Console: http://178.107.97.13:30880

3. To login to your KubeSphere console:

     Account: admin
     Password: "P@88w0rd"
     NOTE: Please change the default password after login.

For more details, please visit https://kubesphere.io.

离线部署

部署过一次之后,将部署文件保存下来,以后就可以基于这些部署文件进行离线部署了。

部署文件集合有 500 MB ,在线部署时下载比较费时。

代码语言:javascript复制
# 上传部署包
[root@desktop-c211 kubekey-v3.1.1]# pwd
/root/kubekey-v3.1.1
[root@desktop-c211 kubekey-v3.1.1]# tree -L 1
.
├── kk
├── kubekey
└── kubekey-v3.1.1-linux-amd64.tar.gz

# 安装依赖工具
yum install socat conntrack

# 调整部署文件执行权限
chmod 777 kk

# 部署 Kubernetes 集群
./kk create cluster --skip-pull-images --with-local-storage  --with-kubernetes v1.25.4 --container-manager containerd  -y

# 验证部署完成
kubectl get pod -A

# 部署安装 KubeSphere
helm upgrade --install -n kubesphere-system --create-namespace ks-core https://charts.kubesphere.io/main/ks-core-0.4.0.tgz

0 人点赞