K8S安装Kubesphere
准备工作
安装Helm
curl -L https://git.io/get_helm.sh | bash
创建账户
cat > heml-rbac.yaml << EOF
apiVersion: v1
kind: ServiceAccount
metadata:
name: tiller
namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:
name: tiller
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: tiller
namespace: kube-system
EOF
构建
kubectl apply -f heml-rbac.yaml
初始化tiller
helm init --service-account=tiller --tiller-image=sapcc/tiller:v2.16.3 --history-max 300
检查tiller初始化情况
kube-system tiller-deploy-5fdc6844fb-mfxc4 1/1 Running 0 10m
安装 OpenEBS 创建 LocalPV 存储类型
k8s-node1: mater节点名称。
前提条件
- 已有 Kubernetes 集群,并安装了 kubectl 或 Helm
- Pod 可以被调度到集群的 master 节点(可临时取消 master 节点的 Taint)
关于第二个前提条件,是由于安装 OpenEBS 时它有一个初始化的 Pod 需要在 master 节点启动并创建 PV 给 KubeSphere 的有状态应用挂载。因此,若您的 master 节点存在 Taint,建议在安装 OpenEBS 之前手动取消 Taint,待 OpenEBS 与 KubeSphere 安装完成后,再对 master 打上 Taint,以下步骤供参考:
- 例如本示例有一个 master 节点,节点名称即
master,可通过以下命令查看节点名称:
kubectl get node -o wide
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
k8s-node1 Ready master 168m v1.17.5 10.0.2.15 <none> CentOS Linux 7 (Core) 4.4.228-2.el7.elrepo.x86_64 docker://19.3.8
k8s-node2 Ready <none> 154m v1.17.5 10.0.2.8 <none> CentOS Linux 7 (Core) 4.4.228-2.el7.elrepo.x86_64 docker://19.3.8
k8s-node3 Ready <none> 154m v1.17.5 10.0.2.9 <none> CentOS Linux 7 (Core) 4.4.228-2.el7.elrepo.x86_64 docker://19.3.8
- 确认 master 节点是否有 Taint,如下看到 master 节点有 Taint。
kubectl describe node k8s-node1 | grep Taint
Taints: node-role.kubernetes.io/master:NoSchedule
- 去掉 master 节点的 Taint
kubectl taint nodes k8s-node1 node-role.kubernetes.io/master:NoSchedule-
此时可参考安装 OpenEBS 的步骤继续操作。
安装 OpenEBS
- 创建 OpenEBS 的 namespace,OpenEBS 相关资源将创建在这个 namespace 下:
kubectl create ns openebs
- 安装 OpenEBS,以下列出两种方法,可参考其中任意一种进行创建:
A. 若集群已安装了 Helm,可通过 Helm 命令来安装 OpenEBS:
helm install --namespace openebs --name openebs stable/openebs --version 1.5.0
B. 除此之外还可以通过 kubectl 命令安装:
$ kubectl apply -f https://openebs.github.io/charts/openebs-operator-1.5.0.yaml
- 安装 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
- 如下将
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,则说明存储安装成功。
在 Kubernetes 安装 KubeSphere
安装 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.yaml 或 kubesphere-complete-setup.yaml 文件保存到本地作为本地的静态文件,再参考上述命令进行安装。
查看是否安装状态
kubectl get pods --all-namespaces
kubesphere-system ks-installer-75b8d89dff-9v4xf 0/1 Running 0 94s
验证与访问
- 查看滚动刷新的安装日志,请耐心等待安装成功。
kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l app=ks-install -o jsonpath='{.items[0].metadata.name}') -f
说明:安装过程中若遇到问题,也可以通过以上日志命令来排查问题。
- 通过
kubectl get pod --all-namespaces查看 KubeSphere 相关 namespace 下所有 Pod 状态是否为 Running。确认 Pod 都正常运行后,可使用IP:30880访问 KubeSphere UI 界面,默认的集群管理员账号为admin/P@88w0rd。
参考文档: https://kubesphere.io/docs/zh-CN/installation/install-on-k8s/
K8S安装Kubesphere的更多相关文章
- 安装KubeSphere
1. KubeSphere 是什么 1.1. 官方解释 KubeSphere是一个分布式操作系统,提供以Kubernetes为核心的云原生堆栈,旨在成为第三方应用程序的即插即用架构,以促进其生态系统的 ...
- k8s 安装文档
k8s 安装文档 1.5 http://blog.csdn.net/bobpen/article/details/78958675
- 安装 KubeSphere DevOps 系统
1. 安装KubeSphere 安装了一夜,终于看到了期待已久的画面 第一步.硬件配置(PS:VirtualBox虚拟机): 操作系统:Ubuntu 18.04 CPU:4核 内存:8G 磁盘:60 ...
- k8s 安装 istio 的坑
本文针对于二进制部署的k8s安装istio1.67版本 没有设置admin.conf的小伙伴请参考 https://www.cnblogs.com/Tempted/p/13469772.html 1. ...
- docker k8s安装
docker安装 删除依赖包 sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docke ...
- 【葵花宝典】All-in-One模式安装KubeSphere
1.准备 Linux 机器 2.google api受限下载 KubeKey export KKZONE=cn curl -sfL https://get-kk.kubesphere.io | VER ...
- K8S 安装 Wordpress
基本概念 Helm 可以理解为 Kubernetes 的包管理工具,可以方便地发现.共享和使用为Kubernetes构建的应用,它包含几个基本概念 Helm是目前Kubernetes服务编排领域的唯一 ...
- k8s 安装步骤
1 安装Docker 1.1 增加中国区镜像 https://registry.docker-cn.com 2 下载安装k8s的镜像的脚本 https://github.com/AliyunConta ...
- 关于k8s安装脚本方面的草稿
周六作的, 慢慢完善. #! /usr/bin/env bash set -e set -u set -x #让此脚本可以重复执行,所以加了一些判断 #使用系统的PATH环境 export PATH= ...
随机推荐
- 通过shodan搜索相同favicon.ico的网站
0x01 根据favicon.ico生成hash python2,想改python3折腾了半天不得 import mmh3 import requests response = requests.ge ...
- kali 更新msf
用leafpad打开,方便复制粘贴 leafpad /etc/apt/sources.list 然后复制下面的源覆盖原本的 deb http://mirrors.ustc.edu.cn/kali ka ...
- 被 C# 的 ThreadStatic 标记的静态变量,都存放在哪里了?
一:背景 1. 讲故事 前几天公号里有一位朋友留言说,你windbg玩的溜,能帮我分析下被 ThreadStatic 修饰的变量到底存放在哪里吗?能不能帮我挖出来,其实这个问题问的挺深的,玩高级语言的 ...
- FL Slayer合成器功能之顶部组件介绍
本章节采用图文结合的方式给大家介绍电音编曲软件--FL Studio中的插件FL Slayer合成器中的顶部组件,它是电吉他模拟合成器,感兴趣的朋友可以一起沟通学习交流. FL Slayer(杀手)合 ...
- 紧急发布用cherry-pick检出当前分支所有我的提交记录
目录 背景 操作命令 cherry-pick git log Shell脚本 背景 公司接了个新项目,需在平台上增加几个新接口,问题是本来说是和平台一起迭代发布的时间提前了,但当前的代码都和其他开发人 ...
- Thread.start() ,它是怎么让线程启动的呢?
作者:小傅哥 博客:https://bugstack.cn Github:https://github.com/fuzhengwei/CodeGuide/wiki 沉淀.分享.成长,让自己和他人都能有 ...
- hibernate一对多,细节讲解
1.一对多 1).首先创建两个实体类studeninfo.java跟studentxxb.java 1)studentinfo.java表如图: package model; import java. ...
- kafka 副本机制和容错处理 -2
文章来源于本人的印象笔记,如出现格式问题可访问该链接查看原文 原创声明:作者:Arnold.zhao 博客园地址:https://www.cnblogs.com/zh94 副本机制 Kafka的副本机 ...
- Beta冲刺随笔——Day_Five
这个作业属于哪个课程 软件工程 (福州大学至诚学院 - 计算机工程系) 这个作业要求在哪里 Beta 冲刺 这个作业的目标 团队进行Beta冲刺 作业正文 正文 其他参考文献 无 今日事今日毕 林涛: ...
- 解决 Zuul 中 OAuth2 报 unauthorized 错误
问题描述 微服务中使用 OAuth2 鉴权,直接访问正常,通过 Zuul 访问报错: { "error": "unauthorized", "erro ...