当前位置: 首页 > news >正文

k8s 1.28 集群部署

文章目录

  • 环境配置
    • 安装docker
    • 安装cri-dockerd(Docker与Kubernetes通信的中间程序):
  • 部署kubernetes

环境配置

  1. 关闭Selinux
#永久
sed -i 's/enforcing/disabled/' /etc/selinux/config 
#临时
setenforce 0 
  1. 关闭Swap
#临时
swapoff-a
#永久
sed -ri 's/.*swap.*/#&/ /etc/fstab
  1. 根据规划设置主机名
hostnamectl set-hostname <hostname>
  1. 确保网络桥接的数据包经过Iptables处理,启用相关的内核参数
cat /etc/sysctl.d/k8s.conf << EOF
> net.bridge.bridge-nf-call-ip6tables = 1
> net.bridge.bridge-nf-call-iptables = 1
> EOF
  1. 生效
sysctl --system

安装docker

  1. 配置阿里云源地址,安装并启动docker-ce
wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -0 /etc/yum.repos.d/docker-ce.repoyum -y install docker-ce
systemct1 enable docker && systemct1 start docker
  1. 配置镜像下载加速器和设置Cgroup驱动
cat > /etc/docker/daemon.json << EOF
{"registry-mirrors":["https://b9pmyelo.mirror.aliyuncs.com"],"exec-opts":["native.cgroupdriver=systemd"]
}
EOFsystemctl restart docker
docker info

安装cri-dockerd(Docker与Kubernetes通信的中间程序):

#下载
wget https://github.com/Mirantis/cri-dockerd/releases/download/v0.3.2/cri-dockerd-0.3.2-3.el7.x86_64.rpm
#安装
rpm -ivh cri-dockerd-0.3.2-3.el7.x86_64.rpm

指定依赖镜像地址为国内镜像地址

vi /usr/lib/systemd/system/cri-docker.service
Execstart=/usr/bin/cri-dockerd --container-runtime-endpoint fd:// --pod-infra-container-image=registry.aliyuncs.com/google containers/pause:3.9

重载systemd配置

systemctl daemon-reload

启动并设置开机自启 ci-docker

systemctl enable cri-docker &systemctl start cri-docker

部署kubernetes

  1. 添加阿里云YUM软件源
cat > /etc/yum.repos.d/kubernetes.repo << EOF
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
  1. 安装kubeadm,kubelet和kubect1,kubect1(可以只安装在master节点中)
yum install -y kubelet-1.28.0 kubeadm-1.28.0 kubect1-1.28.0# 这里只是设置开机自启,后面由kubeadm初始化后并自启
systemctl enable kubelet
  1. 初始化Master节点
kubeadm init \
--apiserver-advertise-address=192.168.1.71 \ #声明监听的ip地址,与主机IP地址一致
--image-repository registry.aliyuncs.com/google_containers \ #默认为国外镜像,这里指定阿里云的镜像仓库
--kubernetes-version v1.28.0 \ #指定k8s部署的版本
--service-cidr=10.96.0.0/12 \ #指定Service网段
--pod-network-cidr=10.244.0.0/16 \ #指定pod网段
--cri-socket=unix:///var/run/cri-dockerd.sock #指定连接docker的中间程序的Socket

成功显示:
Your Kubernetes control-plane has initialized successfully!

初始化完成后,根据提示信息,拷贝kubect1工具认证文件到默认路径:

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

使用kubectl工具查看节点状态:

kubectl get node
  1. 在node子节点执行下方命令,并指定连接docker的中间程序的Socket,加入到master节点中
kubeadm join 192.168.1.71:6443 --token 5dh8w8.o2d1vbrqk3x1w93h \
--discovery-token-ca-cert-hash sha256:45f1185c31b9c074f87be118950019a839c31acf0ec48a1581833a540058d144 --cri-socket=unix:///var/run/cri-dockerd.sock

使用kubectl工具查看节点状态:

kubectl get node

注:由于网络插件还没有部署,节点会处于“NotReady”状态。

  1. 安装网络组件(master节点执行)
    这里使用Calico作为Kubernetes的网络插件,负责集群中网络通信。
    创建Calico网络组件的资源(master节点执行):
kubectl create -f tigera-operator.yaml
kubectl create -f custom-resources.yaml

查看Calico相关Pod的运行状态(需要下载镜像,等待5分钟左右)

kubectl get pods -n calico-system

注:如果Pod处于“ContainerCreating”状态说明在下载镜像中,需耐心等待,所有的pod状态为running时,代表安装成功

  1. 安装Dashboard(master节点执行)
    Dashboard是官方提供的一个UI,可用于基本管理K8s资源。
kubectl apply -f kubernetes-dashboard.yaml

查看状态

kubectl get pods -n kubernetes-dashboard

注:如果Pod处于“ContainerCreating”状态说明在下载镜像中,需耐心等待,所有的pod状态为running时,代表安装成功

浏览器访问“https://节点IP地址:30001”,将看到Dashboard登录界面。
创建服务账号并授权管理员权限:

#创建用户
kubectl create serviceaccount dashboard-admin -n kubernetes-dashboard#用户授权
kubectl create clusterrolebinding dashboard-admin --clusterrole=cluster-admin --serviceaccount=kubernetes-dashboard:dashboard-admin#获取用户Token
kubectl cre 0ate token dashboard-admin -n kubernetes-dashboard

使用输出的Token登录Dashboard,将进入到首页

相关文章:

k8s 1.28 集群部署

文章目录 环境配置安装docker安装cri-dockerd(Docker与Kubernetes通信的中间程序)&#xff1a; 部署kubernetes 环境配置 关闭Selinux #永久 sed -i s/enforcing/disabled/ /etc/selinux/config #临时 setenforce 0 关闭Swap #临时 swapoff-a #永久 sed -ri s/.*swap.*/#&a…...

python入门教程

Python 是一种非常流行的编程语言&#xff0c;因其简单易学的语法和广泛的应用领域&#xff08;如数据分析、人工智能、Web 开发等&#xff09;而备受欢迎。以下是一个入门级 Python 教程&#xff0c;适合初学者快速掌握 Python 的基础知识。 1. 安装 Python 你可以从 Python…...

bat(批处理脚本学习)

输出banner echo off echo () echo JL echo ^|^| echo LJ echo _,--"""""""---. echo , …...

【JAVA毕业设计】基于Vue和SpringBoot的渔具租赁系统

本文项目编号 T 005 &#xff0c;文末自助获取源码 \color{red}{T005&#xff0c;文末自助获取源码} T005&#xff0c;文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析 六、核心代码6.1 渔…...

Maven和Gradle的对比

Maven和Gradle都是Java项目构建工具&#xff0c;它们在帮助开发者管理项目依赖、编译、打包等方面发挥着重要作用。 Maven和Gradle的区别 1、语法与配置文件 Maven使用XML作为配置文件&#xff08;如pom.xml&#xff09;的语言&#xff0c;XML结构清晰但相对冗长。Gradle则使…...

Windows安装Ollama环境

在Windows环境下,可以安装Ollama,然后在其上面下载相应的大语言模式,下面是目前支持的LLM及相应的命令等信息: Model Parameters Size Download Llama 38B4.7GBollama run llama3Llama 370B40GBollama run llama3:70bPhi-33.8B2.3GBollama run phi3Mistral7B4.1GBollama ru…...

Java入门:11.抽象类,接口,instanceof,类关系,克隆

1 JDK中的包 JDK JRE 开发工具集&#xff08;javac.exe&#xff09; JRE JVM java类库 JVM java 虚拟机 jdk中自带了许多的包&#xff08;类&#xff09; &#xff0c; 常用的有 java.lang 该包中的类&#xff0c;不需要引用&#xff0c;可以直接使用。 例如&#xff1…...

【软件部署安装】OpenOffice转换PDF字体乱码

现象与原因分析 执行fc-list查看系统字体 经分析发现&#xff0c;linux默认不带中文字体&#xff0c;因此打开我们本地的windows系统的TTF、TTC字体安装到centos机器上。 安装字体 将Windows的路径&#xff1a; C:\Windows\Fonts 的中文字体&#xff0c;如扩展名为 TTC 与TT…...

工程师 - 开源硬件公司Adafruit介绍

https://www.adafruit.com/ https://github.com/adafruit 开源硬件公司 Adafruit 的发展历程 如果你是一名创客&#xff08;Maker&#xff09;&#xff0c;那么你肯定听过 Adafruit&#xff1b;如果你在项目中使用过 Arduino&#xff0c;那么你应该也会知道 Adafruit。假如你没…...

PostgreSQL学习笔记五:数据库基本操作

在 PostgreSQL 中&#xff0c;您可以执行一系列基础操作来管理数据库、备份和恢复数据。以下是一些常用的命令和步骤&#xff1a; 创建数据库 使用以下命令创建新数据库&#xff1a; CREATE DATABASE database_name;您也可以在创建时指定数据库所有者和其他参数&#xff1a;…...

住房公积金 计算器-java方法

计算了一下房贷压力&#xff0c;以全额公积金贷款为例&#xff0c;贷款四十万&#xff0c;等额本金方式还款&#xff0c;房贷利率为2.85%&#xff0c;基本情况就是如下&#xff1a; 还款总额达到 提前还款的好处 按三十年计算&#xff0c;如果第一年借用亲朋好友的钱&#x…...

Spring-Smart-DI

参考文章 作用 用注解的方式动态切换实现类实现方式。 比如我们有多个消息中间件或多个短信服务商&#xff0c;需要动态切换的时候&#xff0c;无需自己写判断逻辑来进行服务商的切换。只用一套注解就可以解决问题 开始使用 引入依赖 <dependency><groupId>io…...

Python 在树莓派上实现WIFI连接

开发语言&#xff1a;Python 硬件环境&#xff1a;树莓派 4B 运行环境&#xff1a;Raspberry Pi OS 64-bit 连接WIFI还是比较简单的&#xff0c;用了好几个Python 库都效果不怎么理想&#xff0c;最后还是使用命令的方式是最自在的 先断开当前的连接 wlan0 可以替换成你当前…...

vmware下ubuntu18.04中使用笔记本的摄像头

步骤1&#xff1a;在windows中检查相机状态 win10系统中&#xff0c;在左下的搜索栏&#xff0c;搜索“相机”&#xff0c;点击进入即可打开相机&#xff0c;并正常显示图像。 注意&#xff1a;如果相机连接到了虚拟机&#xff0c;则不能显示正常。 步骤2&#xff1a;…...

【Linux】最基本的杂项设备驱动

MISC驱动简介 misc的意思是混合、杂项的&#xff0c;因此misc驱动也叫杂项驱动。当我们板子上的某些外设无法进行分类的时候就可以使用该项驱动。 所有杂项设备都共用一个主设备号&#xff08;10&#xff09;&#xff0c;不同的子杂项设备使用不同的子设备号。 重要接口 定…...

RadioGroup RadioButton底部导航栏

参考: https://blog.csdn.net/lu202032/article/details/117632709 activity_home.xml <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"xmlns:app"http://sch…...

SQL分类中的DQL

DQL&#xff08;Data Query Language&#xff09;:数据查询语言&#xff0c;用来查询数据库中表的记录。 一、DQL语法 编写顺序 执行顺序 SELECT 字段列表 5 FROM 表名列表 1 WHERE 条件列表 2 GROUP BY 分组字段列表 3 HAVING 分组后条件列表 4 ORDER BY 排…...

1.3.ReactOS系统 PAGED_CODE 宏函数的实现

#ReactOS系统 PAGED_CODE 宏函数的实现 ReactOS系统 PAGED_CODE 宏函数的实现 文章目录 PAGED_CODE 宏函数的实现 PAGED_CODE 宏函数的实现 #ifdef DBG#define PAGED_CODE() \if (VideoPortGetCurrentIrql() > 1 /* APC_LEVEL */) \{ \VideoPortDebugPrint(Error, "V…...

【论文速看】DL最新进展20241015-目标检测、图像超分

目录 【目标检测】【图像超分】 【目标检测】 [ECCV2024] LaMI-DETR: Open-Vocabulary Detection with Language Model Instruction 论文链接&#xff1a;https://arxiv.org/pdf/2407.11335 代码链接&#xff1a;https://github.com/eternaldolphin/LaMI-DETR 现有方法通过利…...

京准电钟:NTP时间服务器让大数据时钟同步

京准电钟&#xff1a;NTP时间服务器让大数据时钟同步 京准电钟&#xff1a;NTP时间服务器让大数据时钟同步 NTP是一种用于同步网络中设备时间的协议&#xff0c;广泛用于互联网和局域网中。NTP网络时间服务器则是基于NTP协议构建&#xff0c;为网络中的设备提供时间同步服务的服…...

保姆级教程:用Docker Compose一键部署Dify AI平台(附国内镜像加速与端口冲突解决)

零门槛部署Dify AI开发平台&#xff1a;Docker Compose全流程指南与避坑手册 在AI应用开发领域&#xff0c;快速搭建一个稳定可靠的开发环境往往是项目成功的第一步。Dify作为一款面向开发者的AI应用开发平台&#xff0c;通过可视化编排和低代码方式大大降低了构建基于大语言模…...

GyroFlow:用陀螺仪数据重塑视频稳定技术

GyroFlow&#xff1a;用陀螺仪数据重塑视频稳定技术 【免费下载链接】gyroflow Video stabilization using gyroscope data 项目地址: https://gitcode.com/GitHub_Trending/gy/gyroflow 在数字影像创作领域&#xff0c;画面稳定性直接决定作品专业度。无论是运动相机拍…...

实战演练:在快马平台用codex生成一个完整的react用户管理组件

今天想和大家分享一个实战案例&#xff1a;如何在InsCode(快马)平台用Codex快速生成一个React用户管理组件。整个过程比我预想的顺畅很多&#xff0c;特别适合需要快速原型开发的场景。 项目需求拆解 用户管理是后台系统的标配功能&#xff0c;这次要实现三个核心模块&#xff…...

华为云AI开发认证HCCDA通关指南:从试题解析到实战应用

1. 华为云HCCDA认证&#xff1a;AI开发者的黄金敲门砖 最近两年&#xff0c;AI技术在各行各业的应用越来越广泛&#xff0c;很多开发者都在寻找能够系统学习AI开发的途径。华为云推出的HCCDA&#xff08;Huawei Cloud Certified Developer Associate&#xff09;认证&#xff0…...

5个认知重构,收割你的补偿性Offer

春招反杀指南当别人还在为秋招失利懊悔时&#xff0c;聪明人已经完成了思维系统的彻底升级秋招的硝烟尚未散尽&#xff0c;春招的号角已经吹响。这不是简单的“第二轮机会”&#xff0c;而是认知层面的降维打击战。那些在秋招中凭借简历光环轻松通关的路径已然失效&#xff0c;…...

5步攻克TradingAgents-CN本地化部署:从环境搭建到智能体协同

5步攻克TradingAgents-CN本地化部署&#xff1a;从环境搭建到智能体协同 【免费下载链接】TradingAgents-CN 基于多智能体LLM的中文金融交易框架 - TradingAgents中文增强版 项目地址: https://gitcode.com/GitHub_Trending/tr/TradingAgents-CN 一、问题定位&#xff1…...

别再花钱买内网穿透服务了!手把手教你用frp+Linux云服务器搭建自己的专属通道

零成本打造私有内网穿透通道&#xff1a;frp与Linux云服务器实战指南 你是否曾为远程访问家中NAS、调试开发环境或搭建私有云服务而烦恼&#xff1f;市面上动辄数百元的商业内网穿透服务不仅价格高昂&#xff0c;还常受限于带宽和稳定性。本文将带你用一台基础配置的Linux云服…...

PROJECT MOGFACE自动化运维:服务器监控日志分析与告警报告生成

PROJECT MOGFACE自动化运维&#xff1a;服务器监控日志分析与告警报告生成 每天凌晨&#xff0c;当运维工程师小李被手机告警铃声惊醒&#xff0c;睡眼惺忪地打开电脑&#xff0c;面对几十台服务器海量的监控图表和日志文件时&#xff0c;他总在想&#xff1a;有没有一种方法&…...

QT 基于qcustomplot实现热力图(四):动态数据流与交互优化实战

1. 动态数据流的核心实现策略 在实时监控系统中&#xff0c;热力图的数据往往需要持续更新。我遇到过不少开发者直接粗暴地全量刷新整个数据集&#xff0c;结果界面卡顿得像老式幻灯片。这里分享三种经过实战检验的动态更新方案&#xff0c;每种都有其适用场景。 增量更新法最适…...

如何通过开源数据集创造商业价值:Awesome Public Datasets全攻略

如何通过开源数据集创造商业价值&#xff1a;Awesome Public Datasets全攻略 【免费下载链接】awesome-public-datasets A topic-centric list of HQ open datasets. 项目地址: https://gitcode.com/GitHub_Trending/aw/awesome-public-datasets 在数据驱动决策的时代&a…...