k8s 公共服务

embedded/2024/10/22 12:33:36/

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

修改named.conf。修改第13行和第21行

下面是 named.rfc1912 修改位置,在最后
在这里插入图片描述
在这里插入图片描述
所以用cp -p 复制文件,保留权限
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
nslookup 回车,server是看哪个dns 在起作用

dns服务器要配置给所有公共服务节点和 k8s 节点
就在网络文件加个DNS2就行了,网络还要重启

2.资源清单托管服务 Nginx

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
上面的命令拼写错误
在这里插入图片描述
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/f58d79e6b07745c0bc9182380deb090b.pn
在这里插入图片描述
这个文件主要修改这里
在这里插入图片描述
启动nginx
在这里插入图片描述
使用nginx了
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3. NFS

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
k8s中使用 nfs
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
deployment.yaml修改的地方
在这里插入图片描述
在这里插入图片描述

这个地址就是nginx的地址
在这里插入图片描述
这是使用nfs作为后端存储
在这里插入图片描述

4. python上云

loadbalancer 的IP 是 metallb-system 这个命名空间下的东西提供的
在这里插入图片描述
python代码不需要编译的,但是需要合适的环境将其运行起来
在这里插入图片描述
cmdbdb.sql怎么用起来呢?需要安装mysql
在这里插入图片描述
通过headless service,也就是通过域名的方式持久访问 mysql
在这里插入图片描述在这里插入图片描述
sql文件要导入到 syscmd 也就是 MYSQL_DATABASE 中来
下面是数据库映射的nfs, 直接把sql文件放到syscmdb目录下是不行的,往下翻有导入数据表的正确操作
在这里插入图片描述
在 k8s 内部测试mysql 是否可以通过域名连通
在这里插入图片描述
在这里插入图片描述
上面就是create busybox的 yaml的内容
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
两个域名都行,对应的ip 就是 pod 的 ip.
在这里插入图片描述
nfs 这里也可以验证
在这里插入图片描述
在这里插入图片描述
创建镜像,上传镜像
deployment一般是无状态的服务,statefulset一般是有状态的服务。pod想被访问就需要 service 文件。通过域名访问就用 ingress
在这里插入图片描述
上面标注的就是域名

metallb-system 和 ingress-nginx-controller上的 LoadBalancer 里的EXTERNAL-IP的关系是

我用的之前是svc nodePort, 域名配合nodePort端口的方式访问的,没有用到 ingress-nginx-controller

"裸机K8s"通常指的是在裸机服务器上直接安装和运行 Kubernetes(K8s)集群,而不是在虚拟机或云平台上

MetalLB 提供的外部 IP 地址是从一个预先配置的 IP 地址池中获取的,这些 IP 地址通常是你在局域网内保留的一些空闲 IP 地址

MetalLB 提供外部 IP 地址分配功能,使得 LoadBalancer 类型的服务可以在裸机 Kubernetes 集群中获得外部 IP。
Ingress-Nginx-Controller 使用 LoadBalancer 类型的服务暴露其自身,并通过分配的外部 IP 地址接收和管理外部流量。
MetalLB 和 Ingress-Nginx-Controller 共同协作,使得裸机 Kubernetes 集群可以有效地处理和路由外部 HTTP/HTTPS 流量。

5. go项目上云(go可以做类似微信的及时通信项目,百万并发)

oss 是为了视频,图片,音频,这次没有使用,只使用了mysql 和 redis
这里的mysql 也是一个headless svc,访问mysql pod的时候,使用的是 它的podname.svcname.namespace 直接访问到mysql
在这里插入图片描述

redis部署也是statefulset, 也连到redis.
镜像的制作都是在harbor服务器上。
通过不同的命名空间来隔离不同的项目
在这里插入图片描述

golang项目编译成二进制文件,运行二进制文件,运行项目
下面是go编译环境的搭建
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
ADD能自动解压

6. 部署Java 项目

需要考虑的是架构 资源 和 第三方中间件,开发,运维,测试都要考虑
在这里插入图片描述
在这里插入图片描述

预发布环境(Pre-production Environment)是一个接近生产环境的环境,用于在正式发布到生产环境之前进行测试和验证。这个环境模拟生产环境的配置、数据和工作负载,以确保新版本的软件或系统在生产环境中能够顺利运行,并且不会引入重大问题。

Deployment 也可以通过外部存储实现持久化存储的

在这里插入图片描述

项目发布 一种是 打jar包,然后再jdk的环境运行起来,还有就是 war包,放到tomcat,才完成发布
在这里插入图片描述
在这里插入图片描述
镜像仓库如果是私有的,你就需要secret 或者 serviceAccount 来搞

Java项目结构,源码和 application.yaml
在这里插入图片描述

有个源码,然后编译 需要 maven,maven 需要 jdk
编译生成war,添加到基础镜像中,就能生成应用镜像

在这里插入图片描述
在这里插入图片描述
导入数据库的另一种方式
在这里插入图片描述


http://www.ppmy.cn/embedded/86721.html

相关文章

JVM系列(二) -类的加载过程

一、背景介绍 我们知道 Java 是先通过编译器将.java类文件转成.class字节码文件,然后再通过虚拟机将.class字节码文件加载到内存中来实现应用程序的运行。 那么虚拟机是什么时候加载class文件?如何加载class文件?class文件进入到虚拟机后发…

05-用户画像+mysql-hive数据导入

将用户数据导入数仓 新建 create_hive_table.sh文件 在终端执行以下文件 sh create_hive_table.sh sqoop create-hive-table \ --connect jdbc:mysql://up01:3306/tags_dat \ tags_dat库名 --username root \ root 用户名 --password 123456 \ 123456 密码 --ta…

【数据结构】单链表带头双向循环链表的实现

一、链表的概念及结构 1.链表的概念 概念:链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的 。 2.链表的结构 一般讲的链表包括数据域和指针域: 二、链表的种类 实际中链表的结构…

深入解读 Java 中的 `StringUtils.isNotBlank` 与 `StringUtils.isNotEmpty`

个人名片 🎓作者简介:java领域优质创作者 🌐个人主页:码农阿豪 📞工作室:新空间代码工作室(提供各种软件服务) 💌个人邮箱:[2435024119@qq.com] 📱个人微信:15279484656 🌐个人导航网站:www.forff.top 💡座右铭:总有人要赢。为什么不能是我呢? 专栏导…

Vue3响应式高阶用法之toRaw()

Vue3响应式高阶用法之toRaw() 文章目录 Vue3响应式高阶用法之toRaw()一、简介二、使用场景2.1 性能优化2.2 与外部库的集成 三、基本使用3.1 创建响应式对象3.2 获取原始对象3.3 修改原始对象 四、功能详解4.1 toRaw的工作原理4.2 使用注意事项 五、最佳实践及案例5.1 性能优化…

Highcharts 饼图:数据可视化的魅力

Highcharts 饼图:数据可视化的魅力 引言 在数据可视化的世界中,饼图作为一种经典且直观的图表类型,被广泛应用于各种领域。Highcharts,作为一个功能强大且易于使用的JavaScript图表库,为我们提供了创建精美饼图的便捷途径。本文将深入探讨Highcharts饼图的特点、应用场景…

昇思25天学习打卡营第8天 |昇思MindSpore SSD 目标检测算法 学习与总结

一、引言 SSD(Single Shot MultiBox Detector)是 Wei Liu 等人在 ECCV 2016 上提出的一种目标检测算法,具有较高的检测精度和速度。 二、算法概述 主流算法类型: Two-stage 方法:如 RCNN 系列,先产生候选…

@Builder注释导致@RequestBody的前端json反序列化失败,HTTP400

项目里发生了一个bug,就是前端请求一个接口时候,报了HTTP 400 Bad Request 通常来说这个问题是前后端的参数没对齐,比如前端传了个String,但后端对应的是Integer。 所以我就排查了半天,结果没发现啥错误,…