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

9.24-k8s服务发布

Ingress

使用域名发布 K8S 服务

部署项目

一、先部署mariadb

[root@k8s-master ~]# mkdir aaa
[root@k8s-master ~]# cd aaa/
[root@k8s-master aaa]# # 先部署mariadb
[root@k8s-master aaa]# # configmap
[root@k8s-master aaa]# vim mariadb-configmap.yaml
apiVersion: v1
kind: ConfigMap
metadata:name: mariadb-configmap
data:USER: "wp"PASSWORD: "123"ROOT_PASSWORD: "123"DATABASE: "db"[root@k8s-master aaa]# kubectl create -f mariadb-configmap.yaml 
configmap/mariadb-configmap created
[root@k8s-master aaa]# # deployment
[root@k8s-master aaa]# vim mariadb.deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:name: mariadb-deploymentlabels:app: mariadb-deployment
spec:replicas: 1selector:matchLabels:app: mariadb-deploymenttemplate:metadata:labels:app: mariadb-deploymentspec:containers:-       name: mariadbimage: docker.io/library/mariadb:latestimagePullPolicy: Neverports:-       name: mariadbportcontainerPort: 3306envFrom:-       prefix: "MARIADB_"configMapRef:name: mariadb-configmap[root@k8s-master aaa]# kubectl create -f mariadb.deployment.yaml 
deployment.apps/mariadb-deployment created
[root@k8s-master aaa]# kubectl get pod
NAME                                  READY   STATUS             RESTARTS      AGE
cluster-test0-58689d5d5d-7c49r        1/1     Running            4 (16m ago)   3d2h
haha-96567ff6f-r2mh5                  0/1     ImagePullBackOff   0             3d2h
mariadb-deployment-5bf6d9f98c-9mddb   1/1     Running            0             22s
wordpress-7695bd58f4-42hx2            1/1     Running            1 (16m ago)   2d23h
wordpress-7695bd58f4-dqp8q            1/1     Running            1 (16m ago)   2d23h
wordpress-7695bd58f4-v8j7l            1/1     Running            1 (16m ago)   2d23h
[root@k8s-master aaa]# kubectl get po -o wide
NAME                                  READY   STATUS             RESTARTS      AGE     IP              NODE         NOMINATED NODE   READINESS GATES
cluster-test0-58689d5d5d-7c49r        1/1     Running            4 (20m ago)   3d2h    172.16.58.193   k8s-node02   <none>           <none>
haha-96567ff6f-r2mh5                  0/1     ImagePullBackOff   0             3d2h    172.16.85.234   k8s-node01   <none>           <none>
mariadb-deployment-5bf6d9f98c-9mddb   1/1     Running            0             4m34s   172.16.85.237   k8s-node01   <none>           <none>
wordpress-7695bd58f4-42hx2            1/1     Running            1 (20m ago)   2d23h   172.16.58.255   k8s-node02   <none>           <none>
wordpress-7695bd58f4-dqp8q            1/1     Running            1 (20m ago)   2d23h   172.16.85.233   k8s-node01   <none>           <none>
wordpress-7695bd58f4-v8j7l            1/1     Running            1 (20m ago)   2d23h   172.16.85.235   k8s-node01   <none>           <none>[root@k8s-master aaa]# mysql -h 172.16.85.237 -p123
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 3
Server version: 11.5.2-MariaDB-ubu2404 mariadb.org binary distributionCopyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.MariaDB [(none)]> exit
Bye[root@k8s-master aaa]# vim mariadb-service.yaml
[root@k8s-master aaa]# kubectl create -f mariadb-service.yaml 
service/mariadb-service created
[root@k8s-master aaa]# kubectl get svc
NAME              TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)          AGE
kubernetes        ClusterIP   10.96.0.1       <none>        443/TCP          12d
mariadb-service   NodePort    10.96.148.212   <none>        3306:30117/TCP   15s
[root@k8s-master aaa]# kubectl get pod
NAME                                  READY   STATUS             RESTARTS      AGE
cluster-test0-58689d5d5d-7c49r        1/1     Running            4 (33m ago)   3d2h
haha-96567ff6f-r2mh5                  0/1     ImagePullBackOff   0             3d2h
mariadb-deployment-5bf6d9f98c-9mddb   1/1     Running            0             17m
wordpress-7695bd58f4-42hx2            1/1     Running            1 (33m ago)   2d23h
wordpress-7695bd58f4-dqp8q            1/1     Running            1 (33m ago)   2d23h
wordpress-7695bd58f4-v8j7l            1/1     Running            1 (33m ago)   2d23h

二、在远程登录工具上进行登录测试,端口号为30117,用户为root,密码为123

三、使用测试工具:

[root@k8s-master aaa]# kubectl exec -it pods/cluster-test0-58689d5d5d-7c49r -- bash

四、部署wordpress

[root@k8s-master aaa]# vim wordpress-configmap.yaml
apiVersion: v1
kind: ConfigMap
metadata:name: wordpress-config
data:NAME: "db"USER: "wp"PASSWORD: "123"HOST: "mariadb-service"[root@k8s-master aaa]# kubectl create -f wordpress-configmap.yaml 
configmap/wordpress-config created
[root@k8s-master aaa]# kubectl get cm
NAME                DATA   AGE
kube-root-ca.crt    1      12d
mariadb-cm          4      3d2h
mariadb-configmap   4      50m
wordpress-cm        4      3d
wordpress-config    4      38s
[root@k8s-master aaa]# vim wordpress-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:name: wordpress-deploymentlabels:app: wordpress-deployment
spec:replicas: 2selector:matchLabels:app: wordpress-deploymenttemplate:metadata:labels:app: wordpress-deploymentspec:containers:-       name: wpimage: docker.io/library/wordpress:latestimagePullPolicy: Neverports:-       name: wordpressportcontainerPort: 80envFrom:-        prefix: "WORDPRESS_DB_"configMapRef:name: wordpress-config[root@k8s-master aaa]# kubectl create -f wordpress-deployment.yaml 
deployment.apps/wordpress-deployment created
[root@k8s-master aaa]# kubectl get pod
NAME                                    READY   STATUS             RESTARTS        AGE
cluster-test0-58689d5d5d-7c49r          1/1     Running            5 (9m35s ago)   3d3h
haha-96567ff6f-r2mh5                    0/1     ImagePullBackOff   0               3d3h
mariadb-deployment-5bf6d9f98c-9mddb     1/1     Running            0               54m
wordpress-7695bd58f4-42hx2              1/1     Running            1 (70m ago)     3d
wordpress-7695bd58f4-dqp8q              1/1     Running            1 (70m ago)     3d
wordpress-7695bd58f4-v8j7l              1/1     Running            1 (70m ago)     3d
wordpress-deployment-555685954b-52lbs   1/1     Running            0               15s
wordpress-deployment-555685954b-d8qqz   1/1     Running            0               15s
[root@k8s-master aaa]# vim wordpress-service.yaml
apiVersion: v1
kind: Service
metadata:name: wordpress-deployment
spec:selector:app: wordpress-deploymentports:-       name: httpport: 80targetPort: 80nodePort: 32000protocol: TCPtype: NodePort[root@k8s-master aaa]# kubectl create -f wordpress-service.yaml 
service/wordpress-deployment created
[root@k8s-master aaa]# kubectl get svc
NAME                   TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)          AGE
kubernetes             ClusterIP   10.96.0.1       <none>        443/TCP          12d
mariadb-service        NodePort    10.96.148.212   <none>        3306:30117/TCP   46m
wordpress-deployment   NodePort    10.96.26.205    <none>        80:32000/TCP     1s

五、浏览器访问本机地址: 192.168.2.66:32000

六、查看db数据中的表

表中是空的

# 使用测试工具测试
[root@k8s-master aaa]# kubectl exec -it cluster-test0-58689d5d5d-7c49r -- bash
(01:10 cluster-test0-58689d5d5d-7c49r:/) nslookup mariadb-service
Server:		10.96.0.10
Address:	10.96.0.10#53Name:	mariadb-service.default.svc.cluster.local
Address: 10.96.148.212(01:10 cluster-test0-58689d5d5d-7c49r:/) exit
exit
您在 /var/spool/mail/root 中有新邮件# 查看节点
[root@k8s-master aaa]# kubectl get po
NAME                                    READY   STATUS    RESTARTS      AGE
cluster-test0-58689d5d5d-7c49r          1/1     Running   6 (21m ago)   3d18h
mariadb-deployment-5bf6d9f98c-9mddb     1/1     Running   1 (21m ago)   16h
wordpress-7695bd58f4-42hx2              1/1     Running   2 (21m ago)   3d16h
wordpress-7695bd58f4-dqp8q              1/1     Running   2 (21m ago)   3d16h
wordpress-7695bd58f4-v8j7l              1/1     Running   2 (21m ago)   3d16h
wordpress-deployment-555685954b-52lbs   1/1     Running   1 (21m ago)   15h
wordpress-deployment-555685954b-d8qqz   1/1     Running   1 (21m ago)   15h# 查看结点的信息
[root@k8s-master aaa]# kubectl get po -o wide
NAME                                    READY   STATUS    RESTARTS      AGE     IP              NODE         NOMINATED NODE   READINESS GATES
cluster-test0-58689d5d5d-7c49r          1/1     Running   6 (22m ago)   3d18h   172.16.58.200   k8s-node02   <none>           <none>
mariadb-deployment-5bf6d9f98c-9mddb     1/1     Running   1 (22m ago)   16h     172.16.85.240   k8s-node01   <none>           <none>
wordpress-7695bd58f4-42hx2              1/1     Running   2 (22m ago)   3d16h   172.16.58.201   k8s-node02   <none>           <none>
wordpress-7695bd58f4-dqp8q              1/1     Running   2 (22m ago)   3d16h   172.16.85.243   k8s-node01   <none>           <none>
wordpress-7695bd58f4-v8j7l              1/1     Running   2 (22m ago)   3d16h   172.16.85.242   k8s-node01   <none>           <none>
wordpress-deployment-555685954b-52lbs   1/1     Running   1 (22m ago)   15h     172.16.58.198   k8s-node02   <none>           <none>
wordpress-deployment-555685954b-d8qqz   1/1     Running   1 (22m ago)   15h     172.16.85.241   k8s-node01   <none>           <none># 登录数据库
[root@k8s-master aaa]# mysql -h 172.16.85.240 -uroot -p123
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 7
Server version: 11.5.2-MariaDB-ubu2404 mariadb.org binary distributionCopyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| db                 |
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.01 sec)MariaDB [(none)]> use db
Database changed# 表是空的
MariaDB [db]> show tables;
Empty set (0.00 sec)

七、在访问到的页面进行登录

192.168.2.66:32000

八、db数据库中就有数据了

MariaDB [db]> show tables;
+-----------------------+
| Tables_in_db          |
+-----------------------+
| wp_commentmeta        |
| wp_comments           |
| wp_links              |
| wp_options            |
| wp_postmeta           |
| wp_posts              |
| wp_term_relationships |
| wp_term_taxonomy      |
| wp_termmeta           |
| wp_terms              |
| wp_usermeta           |
| wp_users              |
+-----------------------+
12 rows in set (0.00 sec)MariaDB [db]> select * wp_users;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'wp_users' at line 1
MariaDB [db]> select * from wp_users;
+----+------------+------------------------------------+---------------+------------+---------------------------+---------------------+---------------------+-------------+--------------+
| ID | user_login | user_pass                          | user_nicename | user_email | user_url                  | user_registered     | user_activation_key | user_status | display_name |
+----+------------+------------------------------------+---------------+------------+---------------------------+---------------------+---------------------+-------------+--------------+
|  1 | haha       | $P$B9wSyumd047LAk6T9sM5oO7G8IhnsS. | haha          | 123@qq.com | http://192.168.2.66:32000 | 2024-09-24 01:15:54 |                     |           0 | haha         |
+----+------------+------------------------------------+---------------+------------+---------------------------+---------------------+---------------------+-------------+--------------+
1 row in set (0.00 sec)MariaDB [db]> exit
Bye

九、在远程登录工具中也可以看到数据

十、安装 Ingress Contorller

注册 · 语雀 (yuque.com)](注册 · 语雀)

十一、下载附件再导入到服务器内,再进行安装

[root@k8s-master ~]# vim ingress.yaml
[root@k8s-master ~]# kubectl create -f ingress.yaml 
namespace/ingress-nginx created
serviceaccount/ingress-nginx created
serviceaccount/ingress-nginx-admission created
role.rbac.authorization.k8s.io/ingress-nginx created
role.rbac.authorization.k8s.io/ingress-nginx-admission created
clusterrole.rbac.authorization.k8s.io/ingress-nginx created
clusterrole.rbac.authorization.k8s.io/ingress-nginx-admission created
rolebinding.rbac.authorization.k8s.io/ingress-nginx created
rolebinding.rbac.authorization.k8s.io/ingress-nginx-admission created
clusterrolebinding.rbac.authorization.k8s.io/ingress-nginx created
clusterrolebinding.rbac.authorization.k8s.io/ingress-nginx-admission created
configmap/ingress-nginx-controller created
service/ingress-nginx-controller created
service/ingress-nginx-controller-admission created
deployment.apps/ingress-nginx-controller created
job.batch/ingress-nginx-admission-create created
job.batch/ingress-nginx-admission-patch created
ingressclass.networking.k8s.io/nginx created
validatingwebhookconfiguration.admissionregistration.k8s.io/ingress-nginx-admission created
[root@k8s-master ~]# kubectl get po -n ingress-nginx 
NAME                                        READY   STATUS      RESTARTS   AGE
ingress-nginx-admission-create-6hj4c        0/1     Completed   0          71s
ingress-nginx-admission-patch-bt7mj         0/1     Completed   0          71s
ingress-nginx-controller-674f66cf96-lhg8z   1/1     Running     0          72s
[root@k8s-master ~]# kubectl describe  pod -n ingress-nginx ingress-nginx-controller-674f66cf96-lhg8z 
[root@k8s-master ~]# kubectl get service -A
NAMESPACE              NAME                                 TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)                      AGE
default                kubernetes                           ClusterIP   10.96.0.1       <none>        443/TCP                      12d
default                mariadb-service                      NodePort    10.96.148.212   <none>        3306:30117/TCP               17h
default                wordpress-deployment                 NodePort    10.96.26.205    <none>        80:32000/TCP                 16h
ingress-nginx          ingress-nginx-controller             NodePort    10.96.124.77    <none>        80:32540/TCP,443:32218/TCP   4m7s
ingress-nginx          ingress-nginx-controller-admission   ClusterIP   10.96.175.242   <none>        443/TCP                      4m7s
kube-system            kube-dns                             ClusterIP   10.96.0.10      <none>        53/UDP,53/TCP,9153/TCP       12d
kube-system            metrics-server                       ClusterIP   10.96.212.31    <none>        443/TCP                      11d
kubernetes-dashboard   dashboard-metrics-scraper            ClusterIP   10.96.51.222    <none>        8000/TCP                     11d
kubernetes-dashboard   kubernetes-dashboard                 NodePort    10.96.242.161   <none>        443:30754/TCP                11d
[root@k8s-master ~]# cd pods/
# 创建ingress
[root@k8s-master pods]# vim test0054.yaml
[root@k8s-master pods]# kubectl create -f test0054.yaml 
ingress.networking.k8s.io/nginx-ingress created
[root@k8s-master pods]# kubectl get service -A
NAMESPACE              NAME                                 TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)                      AGE
default                kubernetes                           ClusterIP   10.96.0.1       <none>        443/TCP                      12d
default                mariadb-service                      NodePort    10.96.148.212   <none>        3306:30117/TCP               21h
default                wordpress-service                    NodePort    10.96.126.255   <none>        80:32000/TCP                 114m
ingress-nginx          ingress-nginx-controller             NodePort    10.96.124.77    <none>        80:32540/TCP,443:32218/TCP   3h42m
ingress-nginx          ingress-nginx-controller-admission   ClusterIP   10.96.175.242   <none>        443/TCP                      3h42m
kube-system            kube-dns                             ClusterIP   10.96.0.10      <none>        53/UDP,53/TCP,9153/TCP       12d
kube-system            metrics-server                       ClusterIP   10.96.212.31    <none>        443/TCP                      12d
kubernetes-dashboard   dashboard-metrics-scraper            ClusterIP   10.96.51.222    <none>        8000/TCP                     12d
kubernetes-dashboard   kubernetes-dashboard                 NodePort    10.96.242.161   <none>        443:30754/TCP                12d

十二、访问测试

(1)修改hosts文件

(2)测试ip

访问 IP+Ingress 映射的端口是无法进入后端服务器的

(3)只有访问先前定义的域名+端口才可访问到后端服务器

本次实战域名服务器为:wp-web.com:30080

后续论坛网站自行搭建

相关文章:

9.24-k8s服务发布

Ingress 使用域名发布 K8S 服务 部署项目 一、先部署mariadb [rootk8s-master ~]# mkdir aaa [rootk8s-master ~]# cd aaa/ [rootk8s-master aaa]# # 先部署mariadb [rootk8s-master aaa]# # configmap [rootk8s-master aaa]# vim mariadb-configmap.yaml apiVersion: v1 ki…...

UI设计师面试整理-作品集展示

在UI设计师的面试中,作品集展示是非常关键的一环。它不仅展示了你的设计技能和风格,也让面试官了解你的设计思维和解决问题的能力。下面是如何有效地准备和展示你的作品集的建议: 1. 选择合适的项目 ● 多样性:选择能展示你在不同领域或平台上的设计能力的项目。确保作品集…...

CMU 10423 Generative AI:lec10(few-shot、提示工程、上下文学习)

文章目录 1 概述2 摘录2.1 zero-shot 和 few-shot一、Zero-shot Learning&#xff08;零样本学习&#xff09;特点&#xff1a;工作原理&#xff1a;优点&#xff1a;缺点&#xff1a; 二、Few-shot Learning&#xff08;少样本学习&#xff09;特点&#xff1a;工作原理&#…...

做数据抓取工作要如何选择ip池

选择合适的IP池对于数据抓取工作至关重要。一个优质的IP池可以提高抓取的效率和成功率&#xff0c;同时减少被目标网站封禁的风险。以下是选择IP池时需要考虑的一些关键因素&#xff1a; 1. IP类型 住宅IP&#xff1a;住宅IP通常来自真实用户&#xff0c;难以被识别为代理。它…...

防止电脑电池老化,禁止usb或者ac接口调试时充电

控制android系统&#xff0c;开发者模式&#xff0c;开启和禁止充电 连接 Android 手机到电脑的 USB 端口。 下载并安装 Android Debug Bridge (ADB) 工具[1]。 USB&#xff1a; 在命令行中输入 adb shell dumpsys battery set usb 0&#xff0c;以禁止 USB 充电。 在命令…...

智权半导体/SmartDV力助高速发展的中国RISC-V CPU IP厂商走上高质量发展之道

作者&#xff1a;Karthik Gopal SmartDV Technologies亚洲区总经理 智权半导体科技&#xff08;厦门&#xff09;有限公司总经理 进入2024年&#xff0c;全球RISC-V社群在技术和应用两个方向上都在加快发展&#xff0c;中国国内的RISC-V CPU IP提供商也在内核性能和应用扩展…...

利用vue-capper封装一个可以函数式调用图片裁剪组件

1. 效果 const cropData await wqCrop({prop:{img,autoCrop: true, // 是否开启截图框maxImgSize: 600,autoCropWidth: 30,canMove: true, // 图片是否可移动canMoveBox: true, // 截图框是否可移动fixedBox: false, // 截图框是否固定}});console.log(cropData);使用wqCrop会…...

在系统开发中提升 Excel 数据导出一致性与可维护性的统一规范与最佳实践

背景&#xff1a; 在系统开发过程中&#xff0c;数据导出为 Excel 格式是一个常见的需求。然而&#xff0c;由于各个开发人员的编码习惯和实现方式不同&#xff0c;导致导出代码风格不一。有的人使用第三方库&#xff0c;有的人则自定义实现。这种多样化不仅影响了代码的一致性…...

SpringAOP学习

面向切面编程&#xff0c;指导开发者如何组织程序结构 增强原始设计的功能 oop:面向对象编程 1.导入aop相关坐标&#xff0c;创建 <!--spring依赖--><dependencies><dependency><groupId>org.springframework</groupId><artifactId>spri…...

智能网联汽车飞速发展,安全危机竟如影随形,如何破局?

随着人工智能、5G通信、大数据等技术的飞速发展&#xff0c;智能网联汽车正在成为全球汽车行业的焦点。特别是我国智能网联汽车市场规模近年来呈现快速增长态势&#xff0c;彰显了行业蓬勃发展的活力与潜力。然而&#xff0c;车联网技术的广泛应用也带来了一系列网络安全问题&a…...

Android常用C++特性之std::function

声明&#xff1a;本文内容生成自ChatGPT&#xff0c;目的是为方便大家了解学习作为引用到作者的其他文章中。 std::function 是 C 标准库中的一个 函数包装器&#xff0c;用于存储、复制、调用任何可以调用的目标&#xff08;如普通函数、lambda 表达式、函数对象、成员函数等&…...

人工智能与机器学习原理精解【27】

文章目录 集成学习集成学习概述集成学习的定义集成学习的性质集成学习的算法过程集成学习的算法描述集成学习的例子和例题Julia实现集成学习 集成学习数学原理一、基学习器的生成Bagging&#xff08;装袋法&#xff09;Boosting&#xff08;提升法&#xff09; 二、基学习器的结…...

XXL-JOB在SpringBoot中的集成

在SpringBoot中&#xff0c;XXL-JOB作为一个轻量级的分布式任务调度平台&#xff0c;提供了灵活的任务分片处理功能&#xff0c;这对于处理大规模、复杂的任务场景尤为重要。以下将详细探讨如何在SpringBoot中利用XXL-JOB实现灵活控制的分片处理方案&#xff0c;涵盖配置、代码…...

前端工程规范-3:CSS规范(Stylelint)

样式规范工具&#xff08;StyleLint&#xff09; Stylelint 是一个灵活且强大的工具&#xff0c;适用于保持 CSS 代码的质量和一致性。结合其他工具&#xff08;如 Prettier 和 ESLint&#xff09;&#xff0c;可以更全面地保障前端代码的整洁性和可维护性。 目录 样式规范工具…...

Qt系列-1.Qt安装

Qt安装 0 简介 1.安装步骤 1.1 下载 进入qt中文网站:https://www.qt.io/zh-cn/ Qt开源社区版本:https://www.qt.io/download-open-source#source 1.2 安装 chmod +x qt-online-installer-linux-x64-4.8.0.run ./qt-online-installer-linux-x64-4.8.0.run 外网不能下载…...

《自控原理》最小相位系统

在复平面右半平面既没有零点&#xff0c;也没有极点的系统&#xff0c;称为最小相位系统&#xff0c;其余均为非最小相位系统。 从知乎看了一篇答案&#xff1a; https://www.zhihu.com/question/24163919 证明过程大概率比较难&#xff0c;我翻了两本自控的教材&#xff0c;…...

SpringBoot3脚手架

MySpringBootAPI SpringBoot3脚手架&#xff0c;基于SpringBoot3DruidPgSQLMyBatisPlus13FastJSON2Lombok&#xff0c;启动web容器为Undertow(非默认tomcat)&#xff0c;其他的请自行添加和配置。 <java.version>17</java.version> <springboot.version>3.3…...

【C语言软开面经】

C语言软开面经 malloc calloc realloc free动态分配内存malloccalloc函数&#xff1a;realloc 函数&#xff1a;free函数&#xff1a; 堆栈-内存分区栈区&#xff08;Stack&#xff09;&#xff1a;堆区&#xff08;Heap&#xff09;&#xff1a;全局&#xff08;静态&#xff…...

YOLOv11训练自己的数据集(从代码下载到实例测试)

文章目录 前言一、YOLOv11模型结构图二、环境搭建三、构建数据集四、修改配置文件①数据集文件配置②模型文件配置③训练文件配置 五、模型训练和测试模型训练模型验证模型推理 总结 前言 提示&#xff1a;本文是YOLOv11训练自己数据集的记录教程&#xff0c;需要大家在本地已…...

HTML粉色烟花秀

目录 系列文章 写在前面 完整代码 下载代码 代码分析 写在最后 系列文章 序号目录1HTML满屏跳动的爱心(可写字)2HTML五彩缤纷的爱心3HTML满屏漂浮爱心4...

AI巨头集体“铸Token”:从ChatGPT到“数字员工工厂”,程序员的狂欢还是危机?

想象一下&#xff1a;你早上醒来&#xff0c;打开电脑&#xff0c;不是自己敲代码&#xff0c;而是对着一只“龙虾”说&#xff1a;“帮我把昨天的Bug修了&#xff0c;顺便给老板发份周报。” 这不是科幻——2026年3月&#xff0c;这事儿正在发生。 全球头部科技公司突然集体“…...

从51job爬虫案例出发,聊聊如何用Selenium优雅地绕过前端反爬机制

从51job爬虫案例解析Selenium反反爬高阶策略 当招聘网站的前端技术不断升级&#xff0c;传统爬虫手段逐渐失效时&#xff0c;如何让自动化工具的行为更像真实用户&#xff1f;这个问题困扰着许多中高级开发者。以51job为例&#xff0c;其动态加载、URL不变的设计让常规爬虫束手…...

编译原理避坑指南:自顶向下语法分析的5个常见错误及解决方法

编译原理避坑指南&#xff1a;自顶向下语法分析的5个常见错误及解决方法 第一次接触自顶向下语法分析时&#xff0c;我盯着那个无限循环的递归文法整整三天没想明白——为什么明明按照教材步骤操作&#xff0c;程序却始终报错&#xff1f;直到助教指出我忽略了间接左递归的隐蔽…...

FreeRTOS实战指南:从消息队列到内存管理,手把手解决嵌入式多任务难题

FreeRTOS实战指南&#xff1a;从消息队列到内存管理&#xff0c;手把手解决嵌入式多任务难题 1. 为什么嵌入式开发者需要FreeRTOS 在资源受限的嵌入式系统中&#xff0c;开发者常常面临这样的困境&#xff1a;既要处理实时性要求高的传感器数据采集&#xff0c;又要兼顾用户界面…...

SDMatte抠图实战教程:玻璃/薄纱/羽毛一键去背景,保姆级Web部署指南

SDMatte抠图实战教程&#xff1a;玻璃/薄纱/羽毛一键去背景&#xff0c;保姆级Web部署指南 1. 为什么选择SDMatte进行专业抠图 在日常设计工作中&#xff0c;抠图是最基础也最耗时的环节之一。特别是遇到玻璃制品、薄纱材质、羽毛边缘这类复杂对象时&#xff0c;传统Photosho…...

OpenClaw多用户方案:QwQ-32B共享环境下的权限隔离

OpenClaw多用户方案&#xff1a;QwQ-32B共享环境下的权限隔离 1. 为什么需要多用户方案&#xff1f; 去年我在家里搭建了一个OpenClaw自动化环境&#xff0c;原本只是个人使用。直到某天家人看到我用语音指令让AI自动整理照片、生成周报后&#xff0c;纷纷要求"共享&quo…...

为什么你的Tinymce总是显示秘钥提示?深入解析富文本编辑器的授权机制

解密Tinymce授权机制&#xff1a;从技术原理到合规实践 每次启动项目时&#xff0c;那个突兀的"未授权"提示框是否让你感到困扰&#xff1f;作为前端开发领域的标配工具&#xff0c;Tinymce的授权机制远比表面看到的复杂。让我们拨开迷雾&#xff0c;从技术实现到商业…...

OpenClaw技能开发入门:为Qwen3-VL:30B编写图片翻译插件

OpenClaw技能开发入门&#xff1a;为Qwen3-VL:30B编写图片翻译插件 1. 为什么需要自定义技能开发 去年冬天&#xff0c;我接手了一个跨国团队的文档协作项目&#xff0c;每天需要处理大量包含多语言图片的飞书消息。当我在深夜第三次手动将日文截图粘贴到翻译软件时&#xff…...

革命性AI身份系统:Second Me如何重新定义数字分身技术

革命性AI身份系统&#xff1a;Second Me如何重新定义数字分身技术 【免费下载链接】Second-Me 开源 AI 身份系统&#xff0c;通过本地训练和部署&#xff0c;模仿用户思维和学习风格&#xff0c;创建专属AI替身&#xff0c;保护隐私安全。 项目地址: https://gitcode.com/gh_…...

大致说一下spring bean的生命周期

面试 1、实例化 Bean 2、给 Bean 属性赋值 3、初始化 Bean 4、使用 Bean 5、销毁 Bean package com.example.demo.bean;import jakarta.annotation.PostConstruct; import jakarta.annotation.PreDestroy; import org.springframework.beans.factory.annotation.Value; import …...