基于Kubernetes安装KubeSphere容器平台

微信公众号搜索 DevOps和k8s全栈技术 ,即可关注,也可扫描文章最后的二维码关注公众号,每天会分享技术文章供大家参考阅读哈~

往期文章回顾

k8s1.18多master节点高可用集群安装-超详细中文官方文档

基于Kubernetes安装KubeSphere容器平台

在之前的文章中,已经演示了如何部署一个高可用的 Kubernetes 集群环境,本文将基于 Kubernetes 集群安装开源的 KubeSphere 容器平台,帮助企业可视化管理 Kubernetes 集群。

什么是KubeSphere

KubeSphere 是在 Kubernetes 之上构建的以应用为中心的多租户容器平台,提供全栈的 IT 自动化运维的能力,简化企业的 DevOps 工作流。KubeSphere 提供了运维友好的向导式操作界面,帮助企业快速构建一个强大和功能丰富的容器云平台。KubeSphere 支持部署在任何基础设施环境,提供在线与离线安装,支持一键升级与扩容集群,并且各功能组件支持模块化和可插拔的安装。


控制台界面概览

关于 KubeSphere 平台详细的功能介绍,可以参考 KubeSphere 中文文档:https://kubesphere.com.cn/docs/zh-CN/introduction/features/

工作台

项目资源

应用商店


安装KubeSphere

本文将在 Kubernetes 集群说明如何安装 KubeSphere v2.1.1。

前提条件

  • Kubernetes 版本:1.15.x ≤ K8s version ≤ 1.17.x

  • Helm版本:2.10.0 ≤ Helm Version < 3.0.0(不支持 helm 2.16.0),且已安装了 Tiller(KubeSphere 3.0 将支持 Helm v3);

  • 集群有默认的存储类型(StorageClass)

  • 集群能够访问外网,若无外网请参考 在 Kubernetes 离线安装 KubeSphere,地址 https://kubesphere.com.cn/docs/installation/install-on-k8s-airgapped/

安装 Helm 和 Tiller

提示:若集群已有 Helm 和 Tiller,可跳过本节操作。

  1. 从 Helm 的 GitHub https://github.com/helm/helm/releases/tag/v2.16.3 下载 helm-v2.16.3-linux-amd64.tar.gz

  2. 上传到服务器,解压移动 Helm、Tiller 到 /usr/local/bin/

[root@k8s-node1 linux-amd64]# cp helm /usr/local/bin/
[root@k8s-node1 linux-amd64]# cp tiller /usr/local/bin/
  1. 验证 Helm 的安装:

helm help
  1. 创建权限:

创建一个新的文件 helm_rbac.yaml,内容如下:

apiVersion: v1
kind: ServiceAccount
metadata:
  name: tiller
  namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: tiller
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
  - kind: ServiceAccount
    name: tiller
    namespace: kube-system
  1. 然后使用 kubectl 使其创建生效。

[root@k8s-node1 k8s]# kubectl apply -f helm_rbac.yaml
serviceaccount/tiller created
clusterrolebinding.rbac.authorization.k8s.io/tiller created
  1. 初始化 Helm,这里用的国内的镜像源。

helm init --service-account=tiller --tiller-image=registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:v2.16.3 --history-max 300
  1. 验证 Helm Tiller。如果状态是 ImagePullBackOff,表示镜像未拉取成功,需要手动拉取。

kubectl -n kube-system get pods|grep tiller
  1. 检查 Tiller 是否部署到 Kubernetes:

[root@k8s-node1 local]# kubectl get pod -n kube-system -l app=helm
NAME                             READY   STATUS    RESTARTS   AGE
tiller-deploy-7b76b656b5-m4k2x   1/1     Running   0          94s

安装持久化存储与StorageClass

提示:

  • 若您的集群已有持久化存储与 StorageClass,可跳过本小节

  • OpenEBS 将使用 LocalPV 作为存储卷,仅建议用作开发测试环境,生产环境建议使用 Ceph、GlusterFS 等独立的分布式存储服务

  • 安装之前,请确保 master 节点没有 Taints (待安装完 KubeSphere 之后再添加 Taints)

  1. 确认 master 节点是否有 Taint,如下看到 master 节点有 Taint。

$ kubectl describe node master | grep Taint
Taints:             node-role.kubernetes.io/master:NoSchedule
  1. 去掉 master 节点的 Taint:

$ kubectl taint nodes master node-role.kubernetes.io/master:NoSchedule-
  1. 创建 OpenEBS 的 namespace,OpenEBS 相关资源将创建在这个 namespace 下:

$ kubectl create ns openebs
  1. 安装 OpenEBS

helm init


helm install --namespace openebs --name openebs stable/openebs --version 1.5.0
  1. 安装 OpenEBS 后将自动创建 4 个 StorageClass,查看创建的 StorageClass:

$ kubectl get sc
NAME                        PROVISIONER                                                AGE
openebs-device              openebs.io/local                                           10h
openebs-hostpath            openebs.io/local                                           10h
openebs-jiva-default        openebs.io/provisioner-iscsi                               10h
openebs-snapshot-promoter   volumesnapshot.external-storage.k8s.io/snapshot-promoter   10h
  1. 如下将 openebs-hostpath 设置为 默认的 StorageClass

$ kubectl patch storageclass openebs-hostpath -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'
storageclass.storage.k8s.io/openebs-hostpath patched

至此,OpenEBS 的 LocalPV 已作为默认的存储类型创建成功。可以通过命令 kubectl get pod -n openebs 来查看 OpenEBS 相关 Pod 的状态,若 Pod 的状态都是 running,则说明存储安装成功。

kubectl安装KubeSphere

当 Kubernetes 集群满足前提条件,实际上安装 KubeSphere 的步骤非常简单,仅一条命令。根据集群资源情况,使用 kubectl 安装 KubeSphere。

最小化安装 KubeSphere

若集群可用 CPU > 1 Core 且可用内存 > 2 G,可以使用以下命令最小化安装 KubeSphere:

kubectl apply -f https://raw.githubusercontent.com/kubesphere/ks-installer/master/kubesphere-minimal.yaml

完整安装KubeSphere

若集群可用 CPU > 8 Core 且可用内存 > 16 G,可以使用以下命令完整安装 KubeSphere。

注意,应确保集群中有一个节点的可用内存大于 8 G。

kubectl apply -f https://raw.githubusercontent.com/kubesphere/ks-installer/master/kubesphere-complete-setup.yaml

提示:若您的服务器提示无法访问 GitHub,可将 kubesphere-minimal.yamlkubesphere-complete-setup.yaml 从 GitHub 地址 https://github.com/kubesphere/ks-installer/ 拷贝文件保存到本地作为本地的静态文件,再参考上述命令进行安装。

验证与访问

  1. 查看滚动刷新的安装日志,请耐心等待安装成功。

$ kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l app=ks-install -o jsonpath='{.items[0].metadata.name}') -f

说明:安装过程中若遇到问题,也可以通过以上日志命令来排查问题。

  1. 通过 kubectl get pod --all-namespaces 查看 KubeSphere 相关 namespace 下所有 Pod 状态是否为 Running。确认 Pod 都正常运行后,可使用 IP:30880 访问 KubeSphere UI 界面,默认的集群管理员账号为 admin/P@88w0rd

如何开启可选功能组件的安装

若开启了最小化安装,请参考 KubeSphere 可插拔功能组件概览,地址 https://kubesphere.com.cn/docs/zh-CN/installation/pluggable-components/,确保机器可用资源满足其最低要求,然后再开启可选功能组件的安装。

活动预告

KubeSphere 即将重磅发布 v3.0,欢迎关注和报名参加 6 月 30 日 KubeSphere 线上发布会的直播。

技术交流群

为了大家更快速的学习知识,掌握技术,随时沟通交流问题,特组建了技术交流群,大家在群里可以分享自己的技术栈,抛出日常问题,群里会有很多大佬及时解答,这样我们就会结识很多志同道合的人,长按下图可加我微信,备注运维或者k8s或者devops即可进群,让我们共同努力,向着美好的未来出发吧~~~想要免费获取各个版本的k8s高可用集群的安装视频或者其他的免费视频,也可进群获取哈~~     

              

                              扫码加群????

微信:luckylucky421302

微信公众号

                                     长按指纹关注公众号????

往期精彩文章

kubernetes全栈技术+企业案例演示【带你快速掌握和使用k8s】

kubernetes面试题汇总

DevOps视频和资料免费领取

kubernetes技术分享-可用于企业内部培训

谈谈我的IT发展之路

kubernetes系列文章第一篇-k8s基本介绍

kubernetes系列文章第二篇-kubectl

了解pod和pod的生命周期-这一篇文章就够了

kubernetes集群中部署EFK日志管理系统

Kubernetes中部署MySQL高可用集群

Prometheus+Grafana+Alertmanager搭建全方位的监控告警系统-超详细文档

k8s1.18多master节点高可用集群安装-超详细中文官方文档

Kubernetes Pod健康检查-livenessProbe和readinessProbe

kubernetes pod生命周期管理-postStart和preStop

k8s中蓝绿部署、金丝雀发布、滚动更新汇总

运维常见问题汇总-tomcat篇

运维常见问题汇总-tomcat部署java项目大量close_wait解决方案

关于linux内核参数的调优,你需要知道

kubernetes持久化存储volume

kubernetes挂载ceph rbd和cephfs

报警神器Alertmanager发送报警到多个渠道

jenkins+kubernetes+harbor+gitlab构建企业级devops平台

                            

                                       点击在看少个 bug????

展开阅读全文

Python数据分析与挖掘

01-08
92讲视频课+16大项目实战+源码+¥800元课程礼包+讲师社群1V1答疑+社群闭门分享会=99元   为什么学习数据分析?       人工智能、大数据时代有什么技能是可以运用在各种行业的?数据分析就是。       从海量数据中获得别人看不见的信息,创业者可以通过数据分析来优化产品,营销人员可以通过数据分析改进营销策略,产品经理可以通过数据分析洞察用户习惯,金融从业者可以通过数据分析规避投资风险,程序员可以通过数据分析进一步挖掘出数据价值,它和编程一样,本质上也是一个工具,通过数据来对现实事物进行分析和识别的能力。不管你从事什么行业,掌握了数据分析能力,往往在其岗位上更有竞争力。    本课程共包含五大模块: 一、先导篇: 通过分析数据分析师的一天,让学员了解全面了解成为一个数据分析师的所有必修功法,对数据分析师不在迷惑。   二、基础篇: 围绕Python基础语法介绍、数据预处理、数据可视化以及数据分析与挖掘......这些核心技能模块展开,帮助你快速而全面的掌握和了解成为一个数据分析师的所有必修功法。   三、数据采集篇: 通过网络爬虫实战解决数据分析的必经之路:数据从何来的问题,讲解常见的爬虫套路并利用三大实战帮助学员扎实数据采集能力,避免没有数据可分析的尴尬。   四、分析工具篇: 讲解数据分析避不开的科学计算库Numpy、数据分析工具Pandas及常见可视化工具Matplotlib。   五、算法篇: 算法是数据分析的精华,课程精选10大算法,包括分类、聚类、预测3大类型,每个算法都从原理和案例两个角度学习,让你不仅能用起来,了解原理,还能知道为什么这么做。
©️2020 CSDN 皮肤主题: 深蓝海洋 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值