Kubernetes(K8s)部署

主机名ip角色
docker-harbor.revkarl.org172.25.254.250harbor仓库
k8s-master172.25.254.100master,k8s集群控制节点
k8s-node1172.25.254.10worker,k8s集群工作节点
k8s-node2172.25.254.20worker,k8s集群工作节点

注意:

所有节点禁用selinux和防火墙

所有节点同步时间和解析

所有节点安装docker-ce

所有节点禁用swap,注意注释掉/etc/fstab文件中的定义

关闭防火墙

systemctl disabled firewalld

systemctl stop firewalld

grubby --update-kernel ALL --args selinux=0

reboot

禁用所有swap分区

systemctl mask swap.target

swapoff -a

vim /etc/fstab

进行本地dns解析

cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
172.25.254.10      k8s-node1
172.25.254.20      k8s-node2
172.25.254.100    k8s-master
172.25.254.250    reg.revkarl.org

安装所有docker

vim /etc/yum.repos.d/docker.repo

[docker]

name=docker

baseurl=https://mirrors.aliyun.com/docker-ce/linux/rhel/9/x86_64/stable/

gpgcheck=0

dnf install docker-ce -y

创建k8s放置证书的目录

mkdir -p /etc/docker/certs.d/reg.revkarl.org/

复制harbor仓库中的证书并启动docker

ls /data/certs/
revkarl.org.crt  revkarl.org.key
scp /data/certs/revkarl.org.crt root@172.25.254.100:/etc/docker/certs.d/reg,revkarl.org/ca.crt

systemctl enable --now docker

登录harbor仓库

docker login reg.revkarl.org

docker info

安装k8s部署工具

[root@k8s-master ~]# vim /etc/yum.repos.d/k8s.repo

[k8s]

name=k8s

baseurl=https://mirrors.aliyun.com/kubernetes-new/core/stable/v1.30/rpm

gpgcheck=0

[root@k8s-master ~]# dnf install kubelet-1.30.0 kubeadm-1.30.0 kubectl-1.30.0 -y

设置kubectl命令补齐功能

[root@k8s-master ~]# dnf install bash-completion -y

[root@k8s-master ~]# echo "source > ~/.bashrc

[root@k8s-master ~]# source ~/.bashrc

在所节点安装cri-docker

注:k8s从1.24版本开始移除了dockershim,所以需要安装cri-docker插件才能使用docker

[root@k8s-master ~]# dnf install libcgroup-0.41-19.el8.x86_64.rpm \

> cri-dockerd-0.3.14-3.el8.x86_64.rpm -y

[root@k8s-master ~]# vim /lib/systemd/system/cri-docker.service

[Unit]

Description=CRI Interface for Docker Application Container Engine Documentation=https://docs.mirantis.com

After=network-online.target firewalld.service docker.service

Wants=network-online.target

Requires=cri-docker.socket

[root@k8s-master ~]# systemctl daemon-reload

[root@k8s-master ~]# systemctl start cri-docker

[root@k8s-master ~]# ll /var/run/cri-dockerd.sock

srw-rw---- 1 root docker 0  10月 5 22:14 /var/run/cri-dockerd.sock

在master节点拉取k8s所需要的镜像

[root@k8s-master ~]# kubeadm config images pull \

--image-repository registry.aliyuncs.com/google_containers \

--kubernetes-version v1.30.0 \

--cri-socket=unix:///var/run/cri-dockerd.sock

上传镜像到harbor仓库

[root@k8s-master ~]# docker images | awk '/google/{ print $1":"$2}' \

| awk -F "/" '{system("docker tag "$0" reg.timinglee.org/k8s/"$3)}'

[root@k8s-master ~]# docker images | awk '/k8s/{system("docker push "$1":"$2)}

集群初始化 

启动kubelet服务

[root@k8s-master ~]# systemctl status kubelet.service

初始化命令
kubeadm init --pod-network-cidr=10.244.0.0/16 \
--image-repository reg.revkarl.org/k8s \
--kubernetes-version v1.30.0 \
--cri-socket=unix:///var/run/cri-dockerd.sock

指定集群配置文件变量

echo "export KUBECONFIG=/etc/kubernetes/admin.conf" >> ~/.bash_profile

安装flannel网络插件

下载flannel的yaml部署文件

[root@k8s-master ~]# wget https://github.com/flannel io/flannel/releases/latest/download/kube-flannel.yml

下载镜像:

docker pull docker.io/flannel/flannel:v0.25.5

 docekr docker.io/flannel/flannel-cni-plugin:v1.5.1-flannel1

上传镜像到仓库

docker tag flannel/flannel:v0.25.5reg.timinglee.org/flannel/flannel:v0.25.5
docker push reg.timinglee.org/flannel/flannel:v0.25.5
docker tag flannel/flannel-cni-plugin:v1.5.1-flannel1reg.timinglee.org/flannel/flannel-cni-plugin:v1.5.1-flannel1
docker push reg.timinglee.org/flannel/flannel-cni-plugin:v1.5.1-flanne11

安装flannel网络插件

kubectl apply -f kube-flannel.yml

检查好后加入集群

kubeadm join 172.25.254.100:6443 --token

5hwptm.zwn7epa6pvatbpwf--discovery-token-ca-certhashsha256:52f1a83b70ffc8744db5570288ab51987ef2b563bf906ba4244a300f61e9db23 --cri-socket=unix:///var/run/cri-dockerd.sock

在master节点查看node的状态

kubectl get nodes

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

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

相关文章

毕设分享 基于python的搜索引擎设计与实现

文章目录 0 简介1 课题简介2 系统设计实现2.1 总体设计2.2 搜索关键流程2.3 推荐算法2.4 数据流的实现 3 实现细节3.1 系统架构3.2 爬取大量网页数据3.3 中文分词3.4 相关度排序第1个排名算法:根据单词位置进行评分的函数第2个排名算法:根据单词频度进行…

国内知名人工智能AI大模型专家培训讲师唐兴通讲授AI办公应用人工智能在营销与销售过程中如何应用数字化赋能

AI如火如荼,对商业与社会影响很大。 目前企业广泛应用主要是在营销、销售方向,提升办公效率等方向。 从喧嚣的AI导入营销与销售初步阶段,那么当下,领先的组织与个人现在正在做什么呢? 如何让人性注入冷冰冰的AI&…

Android Studio New里面没有New Flutter Project

跟着Flutter中文网的配置教程,安装好了flutter,在Android studio里面也安装了dart和flutter的插件。重启后还是在FIle->New里面没有显示New Flutter Project。 反复卸载重装dart和flutter插件好几次,依然没有效果。 原来是没有把Android APK Suppor…

Keil 5 在编译代码时出现CPU占用过高、伴随出现keil卡顿未响应的问题解决办法

问题背景: 在使用keil 5编译程序的时候,经常出现CPU占用100%,并且伴随出现keil卡顿未响应情况。 如下图所示: 解决方法1: 修改keil的多线程编译设置,减少编译的线程数或者不使用多线程编译(编译…

大模型从入门到应用——LangChain:模型(Models)-[大型语言模型(LLMs):基础知识!

LangChain系列文章: 基础知识快速入门 安装与环境配置链(Chains)、代理(Agent:)和记忆(Memory)快速开发聊天模型 模型(Models) 基础知识大型语言模型(LLMs&a…

安装R和RStudio:开始你的数据分析之旅

数据分析是当今世界中一个非常热门的领域,而R语言是进行数据分析的强大工具之一。R是一种编程语言和软件环境,用于统计计算和图形表示。RStudio是一个集成开发环境(IDE),它为R语言提供了一个更加友好和高效的工作环境。…

C#/.NET/.NET Core技术前沿周刊 | 第 8 期(2024年10.01-10.06)

前言 C#/.NET/.NET Core技术前沿周刊,你的每周技术指南针!记录、追踪C#/.NET/.NET Core领域、生态的每周最新、最实用、最有价值的技术文章、社区动态、优质项目和学习资源等。让你时刻站在技术前沿,助力技术成长与视野拓宽。 欢迎投稿&…

实验室信息系统(LIS)源码,.Net C#语言开发C/S架构,支持DB2,Oracle,MS SQLServer等主流数据库

实验室管理信息系统LIS从属于HIS系统,严格意义上讲,它是HIS系统的一个子系统。众所周知的是,LIS系统的主要功能是将检验仪器传出的检验数据经分析后,生成检验报告,通过网络存储在数据库中,使医生能够方便、…

计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-08

计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-07 目录 文章目录 计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-07目录1. GraphRouter: A Graph-based Router for LLM Selections摘要创新点算法模型实验效果结论推荐阅读指数 2. DOTS: Learni…

VM虚拟机安装 CentOS 7.6 部署宝塔面板实操

一、centos下载 进入centos官网下载页面,选择7.6版本,依次点击 tree-》isos-》x86_64/-》CentOS-7-x86_64-DVD-1810.iso 进行下载。 centos官网下载页面: https://wiki.centos.org/Download.html1、打开下载页面 二、配置CentOS 7的网络 1、…

opencv学习:图像拼接及完整代码实现

概念 图像拼接是计算机视觉领域中的一项技术,它涉及将多个图像合并成一个连续的、无缝的全景图像。在OpenCV中,图像拼接通常包括以下几个关键步骤: 1. 编写代码 导入必要的库:导入sys、cv2和numpy库。定义显示图像的函数&#x…

算法灰度膨胀腐蚀算子优化方法

第1章 当前灰度膨胀腐蚀算子 图像最大值最小值滤波。效果如下: 1.1. 常规实现 1.1.1. 半径范围遍历 对于一个像素,其膨胀腐蚀结果,查看周围半径范围内的所有像素,取最大最小值。 uint8_t nMax = 0; for (int j = -nRY; j <= nRY; j++) {for (int i = -nRX; i <= …

《重生到现代之从零开始的C语言生活》—— 联合体和枚举

联合体 像结构体一样&#xff0c;联合体也是由一个或多个成员构成 但是只会给最大的成员分配内存&#xff0c;联合体的特点就是所有成员共用一块内存空间&#xff0c;所以也叫共同体 由于所有的成员共用一块内存空间&#xff0c;所以如果给其中的一个成员赋值的话&#xff0…

Ubuntu修改IP方法

方法一&#xff1a;通过图形化界面修改IP 打开网络设置&#xff1a; 点击桌面右上角的网络图标&#xff0c;然后选择“设置”或“网络设置”。 选择网络接口&#xff1a; 在网络设置窗口中&#xff0c;选择你正在使用的网络接口&#xff08;有线或无线网络&#xff09;。 进…

避雷!Google Adsense联盟营销七大投放误区

你是否在使用Google AdSense进行广告投放&#xff1f;你是否想进一步优化你的投放策略&#xff1f;那么这篇文章你不可错过啦&#xff01; Google AdSense为跨境商家提供了一个平台&#xff0c;我们可以通过展示相关广告来赚取收入。然而&#xff0c;即使是最有经验的商家也可…

ReentrantLock相关知识

加锁流程 公平锁加锁流程&#xff1a; public final void acquire(int arg) {if (!tryAcquire(arg) &&acquireQueued(addWaiter(Node.EXCLUSIVE), arg))selfInterrupt(); } 加锁流程主要分三大步&#xff1a; tryAcquire尝试获取锁 protected final boolean tryAc…

C++nullptr

其实理解nullptr很简单&#xff0c;它其实就是将一个指针置为空 int* arrnullptr; 但是为什么C语言明明有NULL可以将指针置为空&#xff0c;C还要引入nullptr呢 其实简单理解C语言的NULL它其实是一个宏 #ifndef NULL #ifdef __cplusplus #define NULL 0 #else #define NUL…

【Agent】Cognitive Architectures for Language Agents

arxiv: https://arxiv.org/abs/2309.02427 背景 现有的Agent框架&#xff0c;大部分是基于强化学习提出的框架。本文结合生产系统和认知科学&#xff0c;提出了一个结构化和模块化的Agent架构。 2、记忆 记忆可分为两类&#xff1a; 工作记忆&#xff08;短期记忆&#xf…

多线程股吧(东方财富)用户信息爬取

多线程东方财富&#xff08;股吧&#xff09;用户信息爬取 在上一篇博客股吧信息爬取的基础上加入了多线程&#xff0c;使得速度提升了十几倍&#xff0c;爬取内容如下&#xff1a; 最终爬取结果如下&#xff1a; 完整代码如下&#xff08;准备好环境&#xff0c;比如pytho…

近年来自动驾驶行业就业与企业需求情况

自动驾驶行业在近年来持续发展&#xff0c;就业情况和企业需求呈现出多样化和复杂化的趋势。 以下是基于我搜索到的资料对自动驾驶行业最新就业情况和企业需求的详细分析&#xff1a; 自动驾驶行业对高端技术人才的需求非常旺盛&#xff0c;尤其是架构工程师、算法工程师等岗…