KubeSphere All in one安装配置手册

news/2024/10/23 5:45:03/

KubeSphere All in one安装配置手册

1. 初始化

1.1 配置apt源

# vi /etc/apt/sources.list
deb https://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiversedeb https://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiversedeb https://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse# deb https://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
# deb-src https://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiversedeb https://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse

更新源

# apt update

1.1 安装依赖包

openssl,curl,sudo,socat conntrack ebtables ipset

apt install socat conntrack ebtables ipset ipvsadm openssl curl sudo docker -y

2. 安装docker-ce

sudo apt-get install ca-certificates gnupg lsb-release -y
sudo mkdir -p /etc/apt/keyrings
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
apt-get update
apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin -y

2.2 修改Cgroup

# mkdir /etc/docker
# cat /etc/docker/daemon.json
{"exec-opts": ["native.cgroupdirver=systemd"]
}

2.3 启动docker

systemctl enable docker
systemctl restart docker

3. 安装kubekey

3.1 下载kubekey

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

3.2 初始化集群

./kk create cluster --with-kubernetes v1.21.5 --with-kubesphere v3.2.1

请添加图片描述

3.3 初始化完毕

请添加图片描述

请添加图片描述

控制节点

  kubeadm join lb.kubesphere.local:6443 --token 1bf31i.fwocuzbhjc9ye3od \--discovery-token-ca-cert-hash sha256:d5d57e3793f6187ebca1f4b36a76508c9bd4497c38c302d41800d2f6e289f243 \--control-plane

node节点加入

kubeadm join lb.kubesphere.local:6443 --token 1bf31i.fwocuzbhjc9ye3od \--discovery-token-ca-cert-hash sha256:d5d57e3793f6187ebca1f4b36a76508c9bd4497c38c302d41800d2f6e289f243

请添加图片描述

3.4 查看安装结果

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

请添加图片描述

4. 命令补全

# 安装 bash-completion
apt-get install bash-completion# 将 completion 脚本添加到你的 ~/.bashrc 文件
echo 'source <(kubectl completion bash)' >>~/.bashrc# 将 completion 脚本添加到 /etc/bash_completion.d 目录
kubectl completion bash >/etc/bash_completion.d/kubectl
## 生效
source ~/.bashrc

5. 登录界面

请添加图片描述

请添加图片描述

6. 节点扩容

root@kubesphere-master01:~# kubectl get node
NAME                  STATUS   ROLES                         AGE   VERSION
kubesphere-master01   Ready    control-plane,master,worker   21h   v1.21.5

6.1 生成集群配置文件

# ./kk create config --from-cluster
Notice: /root/sample.yaml has been created. Some parameters need to be filled in by yourself, please complete it.

此时在/root下就创建了一个包含集群信息的sample.yaml配置文件

6.2 修改集群配置文件

apiVersion: kubekey.kubesphere.io/v1alpha2
kind: Cluster
metadata:name: sample
spec:hosts:##You should complete the ssh information of the hosts- {name: kubesphere-master01, address: 192.168.31.131, internalAddress: 192.168.31.131}## 添加以下2行- {name: node01, address: 192.168.31.132, internalAddress: 192.168.31.132}- {name: node02, address: 192.168.31.133, internalAddress: 192.168.31.133}roleGroups:etcd:- SHOULD_BE_REPLACEDmaster:- kubesphere-master01worker:- kubesphere-master01## 添加以下2行- node01- node02controlPlaneEndpoint:##Internal loadbalancer for apiservers#internalLoadbalancer: haproxy##If the external loadbalancer was used, 'address' should be set to loadbalancer's ip.domain: lb.kubesphere.localaddress: ""port: 6443kubernetes:version: v1.21.5clusterName: cluster.localproxyMode: ipvsmasqueradeAll: falsemaxPods: 110nodeCidrMaskSize: 24network:plugin: calicokubePodsCIDR: 10.233.64.0/18kubeServiceCIDR: 10.233.0.0/18registry:privateRegistry: ""

6.3 node节点初始化

scp /etc/apt/sources.list node1:/etc/apt/sources.list
scp /etc/apt/sources.list node2:/etc/apt/sources.list
ssh node1 "apt update" 
ssh node2 "apt update"
ssh node1 "apt install socat conntrack ebtables ipset ipvsadm openssl curl sudo docker -y"
ssh node2 "apt install socat conntrack ebtables ipset ipvsadm openssl curl sudo docker -y"

请添加图片描述

等待结束

请添加图片描述

至此Kubesphere方式部署完毕,这种方式只适合测试环境

请添加图片描述


http://www.ppmy.cn/news/33715.html

相关文章

【多线程】多线程案例

✨个人主页&#xff1a;bit me&#x1f447; ✨当前专栏&#xff1a;Java EE初阶&#x1f447; ✨每日一语&#xff1a;we can not judge the value of a moment until it becomes a memory. 目 录&#x1f35d;一. 单例模式&#x1f364;1. 饿汉模式实现&#x1f9aa;2. 懒汉模…

redhat httpd服务安装、访问浏览器及自定义访问页面

目录 1.查看本地仓库&#xff0c;如果没有配置&#xff0c;就在这目录创建一个 2.挂载 3.下载httpd服务 4.修改httpd配置文件 5.重启httpd服务 6.查看当前可用IP地址 7.随便用一个IP 看是否有东西 8.无法访问&#xff0c;原因是我们防火墙没有放行httpd服务 1.查看本地仓库&a…

Cookie和Session详解

目录 前言&#xff1a; Session详解 Cookie和Session区别和关联 服务器组织会话的方式 使用Tomcat实现登录成功跳转到欢迎页面 登录前端页面 登录成功后端服务器 重定向到欢迎页面 抓包分析交互过程 小结&#xff1a; 前言&#xff1a; Cookie之前博客有介绍过&#x…

HJ1 字符串最后一个单词的长度(JAVA)

目录 题目&#xff1a; 描述 输入描述&#xff1a; 输出描述&#xff1a; 示例1 解题思路&#xff1a; 总代码&#xff1a; 题目&#xff1a; 描述 计算字符串最后一个单词的长度&#xff0c;单词以空格隔开&#xff0c;字符串长度小于5000。&#xff08;注&#xff1a…

error: C1083: 无法打开包括文件: “QtGui/QApplication”: No such file or directory

Qt系列文章目录 文章目录Qt系列文章目录前言一、原因二、解决办法1.修改pro工程文件2.在main.cpp中三、总结前言 当我们从网上或者从打开别人的工程师&#xff0c;报错&#xff0c;C1083: 无法打开包括文件: “QtGui/QApplication”。 原因&#xff1a;Qt5里不再用QtGui模块&a…

动态规划算法

一、前言动态规划是一种常用的算法&#xff0c;在算法领域十分重要&#xff0c;但对于新手来说&#xff0c;理解起来有一定的挑战性&#xff0c;这篇博客将明确步骤来一步一步讲解动态规划到底该如何理解与运用。二、解析动态规划算法1.特点①把原来的问题分解成了【要点相同】…

vue使用split()将字符串分割数组join()将数组转字符串reverse()将数组反转

1.split() 将字符串切割成数组 const str Hello Vue2 Vue3 console.log(str.split()) console.log(str.split()) console.log(str.split( )) console.log(str.split( , 2)) console.log(str.split( , 6))输出如下 1.split()不传参数默认整个字符串作为数组的一个元素&#xf…

Java Web 实战 15 - 计算机网络之网络编程套接字

文章目录一 . 网络编程中的基本概念1.1 网络编程1.2 客户端(client) / 服务器(server)1.3 请求(request) / 响应(response)1.4 客户端和服务器之间的交互数据1.4.1 一问一答1.4.2 多问一答1.4.3 一问多答1.4.4 多问多答二 . socket 套接字2.1 UDP 的 Socket API2.1.1 引子2.1.2…