kubernetes上安装kubesphere

news2025/1/14 16:26:10

准备工作

需要配置三台虚拟机

关闭防火墙

systemctl stop firewalld

systemctl disable firewalld

临时关闭selinux

setenforce 0

永久关闭selinux

vi /etc/selinux/config

安装docker

rpm -qa|grep docker

yum remove docker* -y

rpm -qa|grep docker

yum install -y yum-utils

#配置docker的yum地址

yum-config-manager \

--add-repo \

http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

#安装指定版本

yum install -y docker-ce-20.10.7 docker-ce-cli-20.10.7 containerd.io-1.4.6

启动&开机启动docker

systemctl start docker

systemctl enable docker --now

docker加速配置

mkdir -p /etc/docker

tee /etc/docker/daemon.json <<-'EOF'

{

"registry-mirrors": ["https://82m9ar63.mirror.aliyuncs.com"],

"exec-opts": ["native.cgroupdriver=systemd"],

"log-driver": "json-file",

"log-opts": {

"max-size": "100m"

},

"storage-driver": "overlay2"

}

EOF

systemctl daemon-reload

systemctl restart docker

安装Kubernetes

基本环境

每个机器使用内网ip互通

#分别设置每个机器自己的hostname

hostnamectl set-hostname master

hostnamectl set-hostname node1

hostnamectl set-hostname node2

重新连接终端可以显示主机名

#关闭swap

swapoff -a 

sed -ri 's/.*swap.*/#&/' /etc/fstab

#允许 iptables 检查桥接流量

cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf

br_netfilter

EOF

cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf

net.bridge.bridge-nf-call-ip6tables = 1

net.bridge.bridge-nf-call-iptables = 1

EOF

sysctl –system

安装kubelet、kubeadm、kubectl

#配置k8s的yum源地址

cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo

[kubernetes]

name=Kubernetes

baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64

enabled=1

gpgcheck=0

repo_gpgcheck=0

gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg

   http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg

EOF

#安装 kubelet,kubeadm,kubectl

yum install -y kubelet-1.20.9 kubeadm-1.20.9 kubectl-1.20.9

启动kubelet

systemctl start kubelet

systemctl enable --now kubelet

#所有机器配置master域名

echo "172.16.39.66 master" >> /etc/hosts

echo "172.16.39.67 node1" >> /etc/hosts

echo "172.16.39.68 node2" >> /etc/hosts

初始化master节点

初始化

kubeadm init \

--apiserver-advertise-address=172.16.39.68 \

--control-plane-endpoint=node2 \

--image-repository registry.cn-hangzhou.aliyuncs.com/lfy_k8s_images \

--kubernetes-version v1.20.9 \

--service-cidr=10.96.0.0/16 \

--pod-network-cidr=192.168.0.0/16

等待完成

记录关键信息

记录master执行完成后的日志

master节点执行上述命令

安装Calico网络插件(master节点)

curl https://docs.projectcalico.org/archive/v3.20/manifests/calico.yaml -O

kubectl apply -f calico.yaml

kubectl get pod -A

等待完成全是1

镜像获取失败(修改docker/daemon.json)

在三台主机里面

修改vi /etc/docker/daemon.json

{

"registry-mirrors": ["https://82m9ar63.mirror.aliyuncs.com","https://0c105db5188026850f80c001def654a0.mirror.swr.myhuaweicloud.com","https://5tqw56kt.mirror.aliyuncs.com","https://docker.1panel.live","http://mirrors.ustc.edu.cn/","http://mirror.azure.cn/","https://hub.rat.dev/","https://docker.ckyl.me/","https://docker.chenby.cn","https://docker.hpcloud.cloud","https://docker.m.daocloud.io"],

"exec-opts": ["native.cgroupdriver=systemd"],

"log-driver": "json-file",

"log-opts": {

"max-size": "100m"

},

"storage-driver": "overlay2"

}

systemctl daemon-reload

systemctl restart docker

systemctl start kubelet

查看需要哪些镜像

cat /root/calico.yaml |grep image

docker pull docker.io/calico/cni:v3.20.6

docker pull docker.io/calico/pod2daemon-flexvol:v3.20.6

docker pull docker.io/calico/node:v3.20.6

docker pull docker.io/calico/kube-controllers:v3.20.6

在master操作下面

kubectl apply -f calico.yaml

kubectl get pod -A

全是1结束

加入worker节点

 各node节点输入

 kubeadm join master:6443 --token 24a7hb.5719b9rdljx27z9y \

 --discovery-token-ca-cert-hash sha256:19d04bddfcdaed75221131d57f989cab5e7114bdbc05c51da861cf6d63e2e139

查看kubectl get nodes

kubectl get pod -A

等待全是1

查看kubectl get nodes

安装KubeSphere前置环境

 nfs文件系统

安装nfs-server

# 在每个机器

yum install -y nfs-utils

# 在master 执行以下命令,将master节点作为nfs服务器server

暴露/nfs/data/这个目录

echo "/nfs/data/ *(insecure,rw,sync,no_root_squash)" > /etc/exports

# 执行以下命令,启动 nfs 服务;创建共享目录

mkdir -p /nfs/data

# 在master执行

systemctl enable rpcbind

systemctl enable nfs-server

systemctl start rpcbind

systemctl start nfs-server

# 使配置生效

exportfs -r

#检查配置是否生效,出现world生效

exportfs

 配置nfs-client,在node节点

showmount -e 172.16.39.66

mkdir -p /nfs/data

mount -t nfs 172.16.39.66:/nfs/data /nfs/data

   

 配置默认存储

配置动态供应的默认存储类

vi sc.yaml

加入默认存储.txt里面内容

需修改nfs server ip

查看sc

应用sc.yaml

kubectl apply -f sc.yaml

确认配置是否生效

kubectl get sc

kubectl get pod -A

metrics-server

集群指标监控组件

见metrics-server.txt

vi metrics.yaml

将metrics-server.txt里面内容复制进去,不用修改

kubectl apply -f metrics.yaml

稍等一会

kubectl get pod -A

kubectl top nodes

可以看到集群各节点CPU、内存情况及使用率1c=1000m

kubectl top pods    正在运行的pod

kubectl top pods -A    所有的pod

安装KubeSph

下载核心文件

wget https://github.com/kubesphere/ks-installer/releases/download/v3.3.0/kubesphere-installer.yaml

wget https://github.com/kubesphere/ks-installer/releases/download/v3.3.0/cluster-configuration.yaml

修改cluster-configuration

vim cluster-configuration.yaml

修改spec下面的内容

在 cluster-configuration.yaml中指定我们需要开启的功能(将false改为true)

执行安装

kubectl apply -f kubesphere-installer.yaml

kubectl apply -f cluster-configuration.yaml

查看安装进度

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

访问任意机器的 30880端口

账号 : admin

密码 : P@88w0rd

访问之前再次确认所有pod是不是1

kubectl get pods -A

如果一直有ContainerCreating

kubectl describe -n namespace pod查看问题

解决etcd监控证书找不到问题

kubectl -n kubesphere-monitoring-system create secret generic kube-etcd-client-certs  --from-file=etcd-client-ca.crt=/etc/kubernetes/pki/etcd/ca.crt  --from-file=etcd-client.crt=/etc/kubernetes/pki/apiserver-etcd-client.crt  --from-file=etcd-client.key=/etc/kubernetes/pki/apiserver-etcd-client.key

浏览器访问:http://172.25.39.66:30880/login

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2276557.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Windows图形界面(GUI)-QT-C/C++ - QT控件创建管理初始化

公开视频 -> 链接点击跳转公开课程博客首页 -> ​​​链接点击跳转博客主页 目录 控件创建 包含对应控件类型头文件 实例化控件类对象 控件设置 设置父控件 设置窗口标题 设置控件大小 设置控件坐标 设置文本颜色和背景颜色 控件排版 垂直布局 QVBoxLayout …

分页工具代码重构

文章目录 1.common-mybatis-plus-starter1.目录2.PageInfo.java3.PageResult.java4.SunPageHelper.java 1.common-mybatis-plus-starter 1.目录 2.PageInfo.java package com.sunxiansheng.mybatis.plus.page;import lombok.EqualsAndHashCode; import lombok.ToString;impor…

Vue学习二——创建登录页面

前言 以一个登录页面为例子&#xff0c;这篇文章简单介绍了vue&#xff0c;element-plus的一些组件使用&#xff0c;vue-router页面跳转&#xff0c;pinia及持久化存储&#xff0c;axios发送请求的使用。后面的页面都大差不差&#xff0c;也都这么实现&#xff0c;只是内容&am…

初始Django框架

初识Django Python知识点&#xff1a;函数、面向对象。前端开发&#xff1a;HTML、CSS、JavaScript、jQuery、BootStrap。MySQL数据库。Python的Web框架&#xff1a; Flask&#xff0c;自身短小精悍 第三方组件。Django&#xff0c;内部已集成了很多组件 第三方组件。【主要…

深度学习每周学习总结R4(LSTM-实现糖尿病探索与预测)

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客R6中的内容&#xff0c;为了便于自己整理总结起名为R4&#x1f356; 原作者&#xff1a;K同学啊 | 接辅导、项目定制 目录 0. 总结1. LSTM介绍LSTM的基本组成部分如何理解与应用LSTM 2. 数据预处理3. 数…

虚假星标:GitHub上的“刷星”乱象与应对之道

在开源软件的世界里&#xff0c;GitHub无疑是最重要的平台之一。它不仅是一个代码托管平台&#xff0c;也是一个社交网络&#xff0c;允许开发者通过“点赞”&#xff08;即加星&#xff09;来表达对某个项目的喜爱和支持&#xff0c;“星标”&#xff08;Star&#xff09;则成…

前端笔记----

在我的理解里边一切做页面的代码都是属于前端代码。 之前用过qt框架&#xff0c;也是用来写界面的&#xff0c;但是那是用来写客户端的&#xff0c;而html是用来写web浏览器的&#xff0c;相较之下htmlcssJavaScript写出来的界面是更加漂亮的。这里就记录我自个学习后的一些笔…

【面试题】技术场景 4、负责项目时遇到的棘手问题及解决方法

工作经验一年以上程序员必问问题 面试题概述 问题为在负责项目时遇到的棘手问题及解决方法&#xff0c;主要考察开发经验与技术水平&#xff0c;回答不佳会影响面试印象。提供四个回答方向&#xff0c;准备其中一个方向即可。 1、设计模式应用方向 以登录为例&#xff0c;未…

2025华数杯国际赛A题完整论文讲解(含每一问python代码+数据+可视化图)

大家好呀&#xff0c;从发布赛题一直到现在&#xff0c;总算完成了2025“华数杯”国际大学生数学建模竞赛A题Can He Swim Faster的完整的成品论文。 本论文可以保证原创&#xff0c;保证高质量。绝不是随便引用一大堆模型和代码复制粘贴进来完全没有应用糊弄人的垃圾半成品论文…

关闭window10或11自动更新和自带杀毒

关闭window10或11自动更新和自带杀毒 1.关闭系统更新**修改组策略关闭自动更新****修改服务管理器关闭自动更新** 2.关闭系统杀毒 为什么需要关闭更新和杀毒 案例&#xff1a; #装完驱动隔一段时间就掉 #一些设置隔一段时间就重置了 #防止更新系统后有时卡 1.关闭系统更新 我…

解析OVN架构及其在OpenStack中的集成

引言 随着云计算技术的发展&#xff0c;虚拟化网络成为云平台不可或缺的一部分。为了更好地管理和控制虚拟网络&#xff0c;Open Virtual Network (OVN) 应运而生。作为Open vSwitch (OVS) 的扩展&#xff0c;OVN 提供了对虚拟网络抽象的支持&#xff0c;使得大规模部署和管理…

【ArcGIS技巧】如何给CAD里的面注记导入GIS属性表中

前面分享了GIS怎么给田块加密高程点&#xff0c;但是没有分享每块田的高程对应的是哪块田&#xff0c;今天结合土地整理软件GLAND做一期田块的属性怎么放入GIS属性表当中。 1、GLAND数据 杭州阵列软件&#xff08;GLand&#xff09;是比较专业的土地整理软件&#xff0c;下载之…

Excel中SUM求和为0?难道是Excel有Bug!

大家好&#xff0c;我是小鱼。 在日常工作中有时会遇到这样的情况&#xff0c;对Excel表格数据进行求和时&#xff0c;结果竟然是0&#xff0c;很多小伙伴甚至都怀疑是不是Excel有Bug&#xff01;其实&#xff0c;在WPS的Excel表格中数据求和&#xff0c;结果为0无法正确求和的…

Spring MVC简单数据绑定

【图书介绍】《SpringSpring MVCMyBatis从零开始学&#xff08;视频教学版&#xff09;&#xff08;第3版&#xff09;》_springspringmvcmybatis从零开始 代码、课件、教学视频与相关软件包下载-CSDN博客 《SpringSpring MVCMyBatis从零开始学(视频教学版)&#xff08;第3版&…

蓝桥杯备考:数据结构之栈 和 stack

目录 栈的概念以及栈的实现 STL 的stack 栈和stack的算法题 栈的模板题 栈的算法题之有效的括号 验证栈序列 后缀表达式 括号匹配 栈的概念以及栈的实现 栈是一种只允许在一端进行插入和删除的线性表 空栈&#xff1a;没有任何元素 入栈&#xff1a;插入元素消息 出…

使用Dify创建个问卷调查的工作流

为啥要使用Dify创建工作流呢&#xff1f;一个基于流程的智能体的实现&#xff0c;特别是基于业务的实现&#xff0c;使用Dify去实现时&#xff0c;通常都是一个对话工作流&#xff0c;当设计到相对复杂一些的流程时&#xff0c;如果将所有逻辑都放在对话工作流中去实现&#xf…

QT Quick QML 实例之椭圆投影,旋转

文章目录 一、前言二、演示三、部分代码与分析 QML 其它文章请点击这里: QT QUICK QML 学习笔记 国际站点 GitHub: https://github.com/chenchuhan 国内站点 Gitee : https://gitee.com/chuck_chee 一、前言 此 Demo 主要用于无人机吊舱视角的模拟&#xf…

高通,联发科(MTK)等手机平台调优汇总

一、常见手机型号介绍&#xff1a; ISP除了用在安防行业&#xff0c;还有手机市场&#xff0c;以及目前新型的A/VR眼睛&#xff0c;机器3D视觉机器人&#xff0c;医疗内窥镜这些行业。 下面是一些最近几年发布的,,,旗舰SOC型号&#xff1a; 1.联发科&#xff1a;天玑92…

AI的崛起:它将如何改变IT行业的职业景象?

随着人工智能&#xff08;AI&#xff09;的快速发展&#xff0c;许多人开始担忧其对IT行业的影响&#xff0c;担心AI的出现可能会导致大量IT从业者失业。然而&#xff0c;事实并非如此简单&#xff0c;AI的崛起将为IT行业带来深刻的变革&#xff0c;既有挑战&#xff0c;也有机…

【25考研】西南交通大学软件工程复试攻略!

一、复试内容 复试对考生的既往学业情况、外语听说交流能力、专业素质和科研创新能力&#xff0c;以及综合素质和一贯表现等进行全面考查,主要考核内容包括思想政治素质和道德品质、外语听说能力、专业素质和能力&#xff0c;综合素质及能力。考核由上机考试和面试两部分组成&a…