下载 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. Vue3.0聊天室|vue3+vant3仿微信聊天实例|vue3.x仿微信app界面

    一.项目简介 基于Vue3.0+Vant3.x+Vuex4.x+Vue-router4+V3Popup等技术开发实现的仿微信手机App聊天实例项目Vue3-Chatroom.实现了发送图文表情消息/g ...

  2. 在.NET Core中使用Channel(二)

    在我们之前的文章中,看了一些非常简单的例子来说明Channel是如何工作的,我们看到了一些非常漂亮的特性,但大多数情况下它与其他某某Queue实现非常相似.让我们进入一些更高级的话题.我说的是高级,但 ...

  3. jQuery中toggle与slideToggle以及fadeToggle的显示、隐藏方法的比较

    1.区别 ①动画效果的比较: toggle:直接显示.隐藏,如果有[时间参数]且[匹配的元素有宽度属性],则动态效果为左上角-右下角拉卷效果,透明度0-1之间的变化:若有时间参数但是[匹配的元素没有宽 ...

  4. linux环境下oracle 11g 静默安装

    安装环境 Linux服务器:oracle linux 6.6 64位 Oracle服务器:Oracle11gR2 64位 系统要求 1.Linux安装Oracle系统要求 系统要求 说明 内存 必须高 ...

  5. TCP连接的建立与释放(超详细)

    前言:在计算机网络协议中,TCP只是其中一个,然而在网络使用中,TCP也是最离不开的协议之一,它的重要性毋庸置疑,最最重要的是,面试的重点就是它啊,呜呜~~,今天我们一起来看下TCP的连接建立与释放, ...

  6. 在IDEA中通过Module管理多个项目

    你身边有没有这种顽固的Eclipse忠实用户:IDEA不能一个窗口管理多个项目!太不方便了! 对于一个窗口同时管理多个项目的需求,在我们日常开发时候是经常需要的.尤其当我们在分布式环境下,在一个窗口中 ...

  7. [CPP] 智能指针

    介绍 C++ 的智能指针 (Smart Pointers) 相关 API. C++ 中的智能指针是为了解决内存泄漏.重复释放等问题而提出的,它基于 RAII (Resource Acquisition ...

  8. 【Linux】rsync中sending incremental file list时间优化

    每次使用rsync的时候,前面出现sending incremental file list 这句之后要等待很长时间 查了很多帖子和官方文档后,发现是-c这个选项的问题, -v, --verbose ...

  9. 【Linux】iptables的内核模块问题大坑!

    系统环境 CentOS 6.5 今天本来可以平静的度过一天,正品味着下午茶的美好,突然接到防火墙iptables的报警. 进入到服务器中,执行下面的命令查看,结果报错 /etc/init.d/ipta ...

  10. IOC技术在前端项目中的应用

    目录 背景 什么是IOC 如何实现一个IOC 第一步:实现一个容器 第二步:用好装饰器 第三步:使用容器 扩展和展望 最后 背景 前端发展至今已经过去30余年,前端应用领域在不断壮大的过程中,也变得越 ...