使用kubekey安装kubesphere

网友投稿 328 2022-10-26

使用kubekey安装kubesphere

下载 KubeKey

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

export KKZONE=cn curl -sfL | 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 -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. ##################################################### 2021-02-05 15:47:21 #####################################################

至此kubesphere安装成功,可以通过浏览器访问验证

验证

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

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:关于Type-c接口的一些实用技巧
下一篇:OpenYurt:延伸原生 Kubernetes 到边缘场景下的落地实践
相关文章

 发表评论

暂时没有评论,来抢沙发吧~