前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >快速部署一个 Kubernetes 开发环境

快速部署一个 Kubernetes 开发环境

原创
作者头像
软件书桌
发布2024-05-16 17:22:19
1330
发布2024-05-16 17:22:19

开发云原生应用必须要有 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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 在线部署
  • 离线部署
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档