【K8S】使用 All-in-One 方式安装部署 KubeSphere

本文档详细介绍了如何在Ubuntu 18.04虚拟机上使用KubeKey快速安装Kubernetes和KubeSphere。通过All-in-One模式,只需几个命令即可完成安装,包括安装必要的依赖、下载KubeKey、执行安装命令以及验证安装结果。安装完成后,提供了访问KubeSphere的步骤和验证集群状态的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

KubeSphere 是一款开源项目,在目前主流容器调度平台 Kubernetes 之上构建的企业级分布式多租户容器管理平台,提供简单易用的操作界面以及向导式操作方式,在降低用户使用容器调度平台学习成本的同时,极大降低开发、测试、运维的日常工作的复杂度。

对于刚接触 KubeSphere 并想快速上手该容器平台的用户,All-in-One 安装模式是最佳的选择,它能够零配置快速部署 KubeSphere 和 Kubernetes。

一、实验资源

基于微软云Azure创建一台Ubuntu 18.04虚拟机

虚拟机名称操作系统实验资源配置实验依赖项
allinone-k8sUbuntu Server 18.04 LTS4 核 vCPU,16 GB 内存,150 GB 磁盘空间socat<必选>
conntrack<必选>
ebtables<可选>
ipset<可选>

二、创建并连接Ubuntu虚拟机

创建Ubuntu虚拟机

image-20220612103117954

配置虚拟机网络信息

image-20220612103338251

查看并创建虚拟机

image-20220612103425938

创建虚拟机完成

image-20220612103828463

查看虚拟机详细信息

image-20220612110615243

通过SSH远程连接虚拟机,开始安装操作

image-20220612110555595

三、下载 KubeKey

安装实验依赖项组件

apt-get install -y socat

apt-get install -y conntrack

apt-get install -y ebtables

apt-get install -y ipset

从 GitHub Release Page 下载 KubeKey 或直接使用以下命令。

curl -sfL https://get-kk.kubesphere.io | VERSION=v2.0.0 sh -

【注】执行以上命令会下载最新版 KubeKey (v2.0.0),可以修改命令中的版本号下载指定版本。

image-20220612111307679
kk 添加可执行权限

chmod +x kk

四、All-in-One 安装 Kubernetes 和 KubeSphere

执行一个命令即可进行安装,命令模式如下

./kk create cluster [--with-kubernetes version] [--with-kubesphere version]

若要同时安装 Kubernetes 和 KubeSphere,可参考以下示例命令

./kk create cluster --with-kubernetes v1.21.5 --with-kubesphere v3.2.1

本实验执行以下命令进行安装,命令如下

./kk create cluster --with-kubernetes v1.21.5 --with-kubesphere v3.2.1

allinone部署k8s

【注意】

  • 安装 KubeSphere 3.2.1 的建议 Kubernetes 版本:1.19.x、1.20.x、1.21.x 或 1.22.x(实验性支持)。如果不指定 Kubernetes 版本,KubeKey 将默认安装 Kubernetes v1.21.5。

  • 一般来说,对于 All-in-One 安装,无需更改任何配置。

  • 添加标志 --with-kubesphere,则不会部署 KubeSphere,KubeKey 将只安装 Kubernetes。

  • 添加标志 --with-kubesphere 时不指定 KubeSphere 版本,则会安装最新版本的 KubeSphere。

  • 执行该命令后,KubeKey 将检查安装环境,结果显示在一张表格中。

执行上述命令之后,安装完成。如图所示。

image-20220612113408278

五、验证安装结果信息

检查安装结果

kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l app=ks-install -o jsonpath='{.items[0].metadata.name}') -f
**************************************************
Collecting installation results ...
#####################################################
###              Welcome to KubeSphere!           ###
#####################################################

Console: http://10.3.0.5:30880
Account: admin
Password: P@88w0rd

NOTES:
  1. After you log into the console, please check the
     monitoring status of service components in
     "Cluster Management". If any service is not
     ready, please wait patiently until all components 
     are up and running.
  2. Please change the default password after login.

#####################################################
https://kubesphere.io             2022-06-12 03:25:13
#####################################################

image-20220612113638747

kubectl get pod --all-namespaces

image-20220612113746289

kubectl version

kubectl cluster-info

image-20220612131733373

六、访问KubeSphere

设置入站安全规则,访问KubeSphere

image-20220612125857671

输入http://<公网IP地址>:30880,进入WEB控制台。

image-20220612130002856

重置登录密码

image-20220612130059637

进入KubeSphere管理界面

image-20220612130146449

查看集群信息整体状态

image-20220612130233485

查看集群节点信息

image-20220612130257095
image-20220612130310078

image-20220612130335326

使用命令行工具,控制当前集群

image-20220612130450535

查看物理资源监控

image-20220612131418430

查看集群基本信息

image-20220612131500342

查看集群监控状态

image-20220612131536382

七、参考链接

Documentation (kubesphere.io)

在 Linux 上以 All-in-One 模式安装 KubeSphere

kubesphere/kubesphere: The container platform tailored for Kubernetes multi-cloud, datacenter, and edge management ⎈ 🖥 ☁️

### 部署 Kubernetes All-in-One 单节点集群 #### 准备工作 为了在 CentOS 7 上成功部署 Kubernetes All-in-One 单节点集群,需先确保操作系统环境已准备好。建议更新系统并配置必要的内核参数。 ```bash sudo yum update -y && sudo reboot ``` #### 安装 DockerKubernetes 组件 按照官方指导,在所有节点上安装所需的软件包: ```bash sudo yum install -y docker \ kubelet-1.28.2 kubeadm-1.28.2 kubectl-1.28.2 \ kubernetes-cni ``` 启动并启用这些服务以确保它们能在开机时自动运行[^2]。 ```bash sudo systemctl enable --now docker kubelet ``` #### 初始化 Kubernetes 主节点 执行初始化命令来设置主控节点。这一步会下载所需镜像并将当前机器转换为主节点。 ```bash sudo kubeadm init --pod-network-cidr=10.244.0.0/16 ``` 此操作完成后,终端将显示加入其他工作节点到集群所需要的指令。对于单节点集群而言,只需继续完成后续步骤即可。 #### 设置kubectl认证 为了让 `kubectl` 能够与 API Server 进行通信,需要复制管理员配置文件至普通用户的家目录下: ```bash mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config ``` #### 安装 Pod 网络插件 Kubernetes 需要一个 CNI (Container Network Interface) 插件才能让 Pods 彼此之间相互通信。Flannel 是一种简单易用的选择之一。 ```bash kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml ``` 此时应该已经拥有了一个功能完整的单节点 Kubernetes 集群。可以通过下面这条命令验证集群状态: ```bash kubectl get nodes ``` 如果一切正常的话,则可以看到唯一的 master 节点处于 Ready 状态。 #### 测试集群健康状况 最后可以创建一个小的应用程序实例来测试整个流程是否正确无误地完成了。 ```yaml apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment spec: replicas: 2 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx:latest ports: - containerPort: 80 --- apiVersion: v1 kind: Service metadata: name: nginx-service spec: type: NodePort selector: app: nginx ports: - protocol: TCP port: 80 targetPort: 80 ``` 保存上述 YAML 文件为 `nginx.yaml` 并应用它: ```bash kubectl apply -f nginx.yaml ``` 通过访问 `<NodeIP>:<NodePort>` 来确认 Nginx 是否能够被外部访问。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

云矩阵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值