k8s 公共服务





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

下面是 named.rfc1912 修改位置,在最后

所以用cp -p 复制文件,保留权限



nslookup 回车,server是看哪个dns 在起作用

dns服务器要配置给所有公共服务节点和 k8s 节点

就在网络文件加个DNS2就行了,网络还要重启

2.资源清单托管服务 Nginx



上面的命令拼写错误


这个文件主要修改这里

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


导入数据库的另一种方式

相关推荐
鹤落晴春8 小时前
【K8s】Pod调度、configMaps
云原生·容器·kubernetes
张忠琳9 小时前
【runc 1.4.2】(Part 2)runc 1.4.2 超深度分析 — CLI层:main.go、命令文件、runner、信号处理、TTY
云原生·kubernetes·runc
Plastic garden14 小时前
K8s知识(3) Pod亲和性,调度
云原生·容器·kubernetes
张忠琳15 小时前
【client-go v0.36.1】(store Part 1)Store 超深度分析 — 模块定位、接口层次、类结构、KeyFunc体系、构造初始化
云原生·kubernetes·informer·store·client-go
开发者联盟league17 小时前
使用jenkins pipeline将项目打包运行在k8s上报错kubectl: Permission denied
java·kubernetes·jenkins
成为你的宁宁17 小时前
【Prometheus Operator 监控 K8S集群的Calico 与 Ingress-Nginx 组件】
kubernetes·prometheus
sbjdhjd18 小时前
04 (下) | K8S微服务实战:从 Service 到金丝雀发布
运维·微服务·云原生·kubernetes·开源·云计算·excel
Plastic garden18 小时前
K8s知识(5) Kubernetes 存储 PV
kubernetes
java_cj18 小时前
K8s入门第一课:从零理解Kubernetes核心概念与架构设计
运维·云原生·容器·架构·kubernetes