欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 金融 > k8s 公共服务

k8s 公共服务

2024/11/30 6:50:37 来源:https://blog.csdn.net/qq_41834780/article/details/140637783  浏览:    关键词:k8s 公共服务

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

修改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,添加到基础镜像中,就能生成应用镜像

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

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com