下载 KubeKey

KubeKey 是新一代 Kubernetes 和 KubeSphere 安装器,可帮助您以简单、快速、灵活的方式安装 Kubernetes 和 KubeSphere。

export KKZONE=cn
curl -sfL https://get-kk.kubesphere.io | VERSION=v1.0.1 sh -

准备镜像

如果您想让安装加快或者您的机房没有外网,可以使用公司内部的私有仓库,预先把镜像推送到私有仓库中,我这里的仓库使用harbor

下载离线安装工具,我这里只是用这个脚本来下载和推送镜像

curl -L -O https://github.com/kubesphere/ks-installer/releases/download/v3.0.0/offline-installation-tool.sh
curl -L -O https://github.com/kubesphere/ks-installer/releases/download/v3.0.0/images-list.txt

拉取镜像

./offline-installation-tool.sh -s -l images-list.txt -d ./kubesphere-images
在./kubesphere-images目录下能看到以下压缩包
# ll
total 8606088
-rw-r--r-- 1 root root 454465957 Feb 2 15:37 csi-images.tar.gz
-rw-r--r-- 1 root root 1231853258 Feb 2 15:33 example-images.tar.gz
-rw-r--r-- 1 root root 445244294 Feb 2 14:50 istio-images.tar.gz
-rw-r--r-- 1 root root 762326634 Feb 2 14:27 k8s-images.tar.gz
-rw-r--r-- 1 root root 1297767607 Feb 2 14:40 ks-core-images.tar.gz
-rw-r--r-- 1 root root 3439146357 Feb 2 15:19 ks-devops-images.tar.gz
-rw-r--r-- 1 root root 733165078 Feb 2 14:46 ks-logging-images.tar.gz
-rw-r--r-- 1 root root 448651153 Feb 2 15:23 openpitrix-images.tar.gz

推送镜像到私有仓库,待脚本完成即可

./offline-installation-tool.sh -l images-list.txt -d ./kubesphere-images -r hub.evbj.easou.com

创建多节点集群

您可用使用 KubeKey 同时安装 Kubernetes 和 KubeSphere,通过自定义配置文件中的参数创建多节点集群。

创建安装有 KubeSphere 的 Kubernetes 集群(例如 --with-kubesphere v3.0.0)

./kk create config --with-kubernetes v1.17.9 --with-kubesphere v3.0.0

系统将创建默认的 config-sample.yaml 文件。您可以根据您的环境修改此文件。

apiVersion: kubekey.kubesphere.io/v1alpha1
kind: Cluster
metadata:
name: ESCloud
spec:
hosts:
- {name: kubesphere001, address: 10.26.31.34, internalAddress: 10.26.31.34, privateKeyPath: "~/.ssh/id_dsa", port: 20755}
- {name: kubesphere002, address: 10.26.31.36, internalAddress: 10.26.31.36, privateKeyPath: "~/.ssh/id_dsa", port: 20755}
- {name: kubesphere003, address: 10.26.31.42, internalAddress: 10.26.31.42, privateKeyPath: "~/.ssh/id_dsa", port: 20755}
- {name: kubesphere004, address: 10.26.31.46, internalAddress: 10.26.31.46, privateKeyPath: "~/.ssh/id_dsa", port: 20755}
- {name: kubesphere005, address: 10.26.31.118, internalAddress: 10.26.31.118, privateKeyPath: "~/.ssh/id_dsa", port: 20755}
- {name: kubesphere006, address: 10.26.31.119, internalAddress: 10.26.31.119, privateKeyPath: "~/.ssh/id_dsa", port: 20755}
- {name: kubesphere007, address: 10.26.31.120, internalAddress: 10.26.31.120, privateKeyPath: "~/.ssh/id_dsa", port: 20755}
- {name: kubesphere008, address: 10.26.31.121, internalAddress: 10.26.31.121, privateKeyPath: "~/.ssh/id_dsa", port: 20755}
roleGroups:
etcd:
- kubesphere001
- kubesphere002
- kubesphere003
master:
- kubesphere001
- kubesphere002
- kubesphere003
worker:
- kubesphere004
- kubesphere005
- kubesphere006
- kubesphere007
- kubesphere008
controlPlaneEndpoint:
domain: lb.kubesphere.local
address: ""
port: "6443"
kubernetes:
version: v1.17.9
imageRepo: kubesphere
clusterName: cluster.local
network:
plugin: calico
kubePodsCIDR: 10.233.64.0/18
kubeServiceCIDR: 10.233.0.0/18
registry:
registryMirrors: []
insecureRegistries: ["hub.kubeops.net"]
privateRegistry: "hub.kubeops.net"
addons: [] ---
apiVersion: installer.kubesphere.io/v1alpha1
kind: ClusterConfiguration
metadata:
name: ks-installer
namespace: kubesphere-system
labels:
version: v3.0.0
spec:
local_registry: "hub.kubeops.net"
persistence:
storageClass: ""
authentication:
jwtSecret: ""
etcd:
monitoring: true
endpointIps: localhost
port: 2379
tlsEnable: true
common:
es:
elasticsearchDataVolumeSize: 20Gi
elasticsearchMasterVolumeSize: 4Gi
elkPrefix: logstash
logMaxAge: 7
mysqlVolumeSize: 20Gi
minioVolumeSize: 20Gi
etcdVolumeSize: 20Gi
openldapVolumeSize: 2Gi
redisVolumSize: 2Gi
console:
enableMultiLogin: true # enable/disable multi login
port: 30880
alerting:
enabled: false
auditing:
enabled: false
devops:
enabled: false
jenkinsMemoryLim: 2Gi
jenkinsMemoryReq: 1500Mi
jenkinsVolumeSize: 8Gi
jenkinsJavaOpts_Xms: 512m
jenkinsJavaOpts_Xmx: 512m
jenkinsJavaOpts_MaxRAM: 2g
events:
enabled: false
ruler:
enabled: true
replicas: 2
logging:
enabled: false
logsidecarReplicas: 2
metrics_server:
enabled: true
monitoring:
prometheusMemoryRequest: 400Mi
prometheusVolumeSize: 20Gi
multicluster:
clusterRole: none # host | member | none
networkpolicy:
enabled: false
notification:
enabled: false
openpitrix:
enabled: false
servicemesh:
enabled: false

环境初始化

./kk init os -f config-sample.yaml
INFO[14:04:19 CST] Init operating system
INFO[14:04:20 CST] Start initializing kubesphere008 [10.26.31.121] node=10.26.31.121
INFO[14:04:20 CST] Start initializing kubesphere001 [10.26.31.34] node=10.26.31.34
INFO[14:04:20 CST] Start initializing kubesphere003 [10.26.31.42] node=10.26.31.42
INFO[14:04:20 CST] Start initializing kubesphere005 [10.26.31.118] node=10.26.31.118
INFO[14:04:20 CST] Start initializing kubesphere006 [10.26.31.119] node=10.26.31.119
INFO[14:04:20 CST] Start initializing kubesphere004 [10.26.31.46] node=10.26.31.46
INFO[14:04:20 CST] Start initializing kubesphere007 [10.26.31.120] node=10.26.31.120
INFO[14:04:20 CST] Start initializing kubesphere002 [10.26.31.36] node=10.26.31.36
INFO[14:06:34 CST] Complete initialization kubesphere005 [10.26.31.118] node=10.26.31.118
INFO[14:06:56 CST] Complete initialization kubesphere002 [10.26.31.36] node=10.26.31.36
INFO[14:07:04 CST] Complete initialization kubesphere006 [10.26.31.119] node=10.26.31.119
INFO[14:07:04 CST] Complete initialization kubesphere007 [10.26.31.120] node=10.26.31.120
INFO[14:07:07 CST] Complete initialization kubesphere003 [10.26.31.42] node=10.26.31.42
INFO[14:07:11 CST] Complete initialization kubesphere004 [10.26.31.46] node=10.26.31.46
INFO[14:08:23 CST] Complete initialization kubesphere001 [10.26.31.34] node=10.26.31.34
INFO[14:10:57 CST] Complete initialization kubesphere008 [10.26.31.121] node=10.26.31.121
INFO[14:10:57 CST] Init operating system successful.

部署

以上准备工作完成且再次检查配置文件无误后,执行安装。

./kk create cluster -f config-sample.yaml
+-------------------------+------+------+---------+----------+-------+-------+-----------+--------+------------+-------------+------------------+--------------+
| name | sudo | curl | openssl | ebtables | socat | ipset | conntrack | docker | nfs client | ceph client | glusterfs client | time |
+-------------------------+------+------+---------+----------+-------+-------+-----------+--------+------------+-------------+------------------+--------------+
| kubesphere005 | y | y | y | y | y | y | y | y | y | y | y | CST 14:16:55 |
| kubesphere006 | y | y | y | y | y | y | y | y | y | y | y | CST 14:16:55 |
| kubesphere007 | y | y | y | y | y | y | y | y | y | y | y | CST 14:16:55 |
| kubesphere004 | y | y | y | y | y | y | y | y | y | y | y | CST 14:16:55 |
| kubesphere001 | y | y | y | y | y | y | y | y | y | y | y | CST 14:16:55 |
| kubesphere003 | y | y | y | y | y | y | y | y | y | y | y | CST 14:16:55 |
| kubesphere002 | y | y | y | y | y | y | y | y | y | y | y | CST 14:16:55 |
| kubesphere008 | y | y | y | y | y | y | y | y | y | y | y | CST 14:16:55 |
+-------------------------+------+------+---------+----------+-------+-------+-----------+--------+------------+-------------+------------------+--------------+ This is a simple check of your environment.
Before installation, you should ensure that your machines meet all requirements specified at
https://github.com/kubesphere/kubekey#requirements-and-recommendations Continue this installation? [yes/no]: yes
INFO[14:17:25 CST] Downloading Installation Files
INFO[14:17:25 CST] Downloading kubeadm ... **************************************************
#####################################################
### Welcome to KubeSphere! ###
##################################################### Console: http://10.26.31.34:30880
Account: admin
Password: P@88w0rd NOTES:
1. After logging into the console, please check the
monitoring status of service components in
the "Cluster Management". If any service is not
ready, please wait patiently until all components
are ready.
2. Please modify the default password after login. #####################################################
https://kubesphere.io 2021-02-05 15:47:21
#####################################################

至此kubesphere安装成功,可以通过浏览器访问http://10.26.31.34:30880 验证

验证

您可以使用默认的帐户和密码 admin/P@88w0rd 登录 KubeSphere 控制台并开始使用 KubeSphere。请在登录后修改默认密码。

登录后如下图

现在就可以开始您的kubesphere之旅了,更多详情请参见官网

使用kubekey安装kubesphere的更多相关文章

  1. Centos 7.6 使用 kubekey 部署 kubesphere v3.1.0

    文章目录 主要功能 硬件要求 Kubernetes版本要求 配置主机之间的免密 安装所需依赖 下载KubeKey 创建Kubernetes集群以及KubeSphere kk命令使用方式 修改配置文件 ...

  2. 安装KubeSphere

    1. KubeSphere 是什么 1.1. 官方解释 KubeSphere是一个分布式操作系统,提供以Kubernetes为核心的云原生堆栈,旨在成为第三方应用程序的即插即用架构,以促进其生态系统的 ...

  3. 安装 KubeSphere DevOps 系统

    1.  安装KubeSphere 安装了一夜,终于看到了期待已久的画面 第一步.硬件配置(PS:VirtualBox虚拟机): 操作系统:Ubuntu 18.04 CPU:4核 内存:8G 磁盘:60 ...

  4. K8S安装Kubesphere

    准备工作 安装Helm curl -L https://git.io/get_helm.sh | bash 创建账户 cat > heml-rbac.yaml << EOF apiV ...

  5. 【葵花宝典】All-in-One模式安装KubeSphere

    1.准备 Linux 机器 2.google api受限下载 KubeKey export KKZONE=cn curl -sfL https://get-kk.kubesphere.io | VER ...

  6. 从零搭建云原生技术kubernetes(K8S)环境-通过kubesPhere的AllInOne方式

    前言 k8s云原生搭建,步骤有点多,但通过kubesphere,可以快速搭建k8s环境,同时有一个以 Kubernetes 为内核的云原生分布式操作系统-kubesphere,本文将从零开始进行kub ...

  7. [转帖]Kubesphere all-in-one 安装方式.

    All-in-One 模式 对于首次接触 KubeSphere 高级版的用户,想寻找一个最快安装和体验 KubeSphere 高级版核心功能的方式,all-in-one 模式支持一键安装 KubeSp ...

  8. KubeSphere单节点(all-in-one)平台搭建记录

    KubeSphere单节点(all-in-one)平台搭建记录 目录 KubeSphere单节点(all-in-one)平台搭建记录 一.主机准备 1.1 主机配置 1.2 环境准备 二.下载kube ...

  9. Kubernetes Dashboard 终结者:KubeSphere

    原文链接:Kubernetes Dashboard 终结者:KubeSphere 2018 年 7 月份,青云在 Cloud Insight 云计算峰会上推出了一款全新的容器平台--KubeSpher ...

随机推荐

  1. spark的 structStreaming 一些介绍

    转发 https://www.toutiao.com/a6696339998905467403/?tt_from=mobile_qq&utm_campaign=client_share& ...

  2. 软件“美不美”,UI测试一下就知道

    摘要:软件测试的最高层次需求是:UI测试,也就是这个软件"长得好不好看". 为了让读者更好地理解测试,我们从最基础的概念开始介绍.以一个软件的"轮回"为例,下图 ...

  3. memcached的安装教程

    在windows系统上安装memcached 下载安装软件memcached-1.2.6-win32-bin.zip 解压该文件把memcached.exe 拷贝到你的 apache同一目录 安装该m ...

  4. CentOS7 普通用户绕过root登录

      正常环境中我们的服务器都会使用一个普通用户跳转到root进行操作,如果root用户的密码不记得只知道普通用户密码,设备又不方便进行开关机破密码时,我们就可以用到以下方法登陆设备. pkexec : ...

  5. Faceto_object_programdesign

    一面向对象程序设计思想 1 和面向过程关注点不同 过程: 程序执行流程和逻辑 (局部功能) 对象: 程序中的对象 (程序结构) 2 对象 现实世界中的实体和事物 可以看成是一种具有自身属性和功能的构件 ...

  6. 【递归】P2386放苹果

    题目相关 题目描述 把 m个同样的苹果放在 n个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法.(5,1,1 和 1,1,5 是同一种方法) 输入格式 第一行是测试数据的数目 t,以下每行 ...

  7. SpringBoot魔法堂:@MatrixVariable参数注解使用详解

    前言 RFC3986定义URI的路径(Path)中可包含name-value片段,扩充了以往仅能通过查询字符串(Query String)设置可选参数的囧境. 假如现在需要设计一个用于"搜索 ...

  8. C++中的extern“C”

    首先引入extern"C"的官方解释 extern "C" is meant to be recognized by a C++ compiler and to ...

  9. linux之curl工具

    curl是一个利用URL语法在命令行下工作的文件传输工具,作用是发出网络请求,然后获取数据:它支持文件的上传和下载:支持多种通信协议. 一.查看网页源码 直接在 curl 命令后加上网址,默认会发送 ...

  10. [从源码学设计]蚂蚁金服SOFARegistry之配置信息

    [从源码学设计]蚂蚁金服SOFARegistry之配置信息 目录 [从源码学设计]蚂蚁金服SOFARegistry之配置信息 0x00 摘要 0x01 业务范畴 1.1 配置作用 1.2 学习方向 0 ...