CICD-Devops整合Kubernetes-4

Devops整合Kubernetes

Kubernetes部署

快速安裝Kubernetes

**官網:**https://kuboard.cn/

image-20250814092458974

image-20250814092521644

選擇默認支持docker的版本1.19

image-20250814093505548

前置環境部署

所有節點均需執行同操作

# 配置主機名解析
[root@Kubernetes-master ~]# echo "127.0.0.1 $(hostname)" >> /etc/hosts# 防火墻關閉,禁用selinux
[root@master ~]# systemctl disable firewalld.service --now
[root@master ~]# setenforce 0# 配置固定IP
[root@master ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="f0967cdb-cfb4-4ed8-973b-03a171214395"
DEVICE="ens33"
ONBOOT="yes"
IPADDR="10.1.8.103"
NETMASK="255.255.255.0"
GATEWAY="10.1.8.2"
DNS1="223.5.5.5"
DNS1="223.6.6.6"
[root@Kubernetes-master ~]# systemctl restart network

安裝Docker和Kubelet

# 最后一個參數 1.19.5 用于指定 kubenetes 版本,支持所有 1.19.x 版本的安裝
# 騰訊云 docker hub 鏡像
# export REGISTRY_MIRROR="https://mirror.ccs.tencentyun.com"
# DaoCloud 鏡像
# export REGISTRY_MIRROR="http://f1361db2.m.daocloud.io"
# 華為云鏡像
# export REGISTRY_MIRROR="https://05f073ad3c0010ea0f4bc00b7105ec20.mirror.swr.myhuaweicloud.com"
# 阿里云 docker hub 鏡像
# export REGISTRY_MIRROR=https://registry.cn-hangzhou.aliyuncs.com
curl -sSL https://kuboard.cn/install-script/v1.19.x/install_kubelet.sh | sh -s 1.19.5

所有節點安裝

[root@Kubernetes-master ~]# export REGISTRY_MIRROR=https://registry.cn-hangzhou.aliyuncs.com
[root@Kubernetes-master ~]# curl -sSL https://kuboard.cn/install-script/v1.19.x/install_kubelet.sh | sh -s 1.19.5

初始化master節點

在master節點上進行初始化

修改:export MASTER_IP=10.1.8.103

export APISERVER_NAME=abner.com

其他內容保持不變進行復制粘貼

# 只在 master 節點執行
# 替換 x.x.x.x 為 master 節點實際 IP(請使用內網 IP)
# export 命令只在當前 shell 會話中有效,開啟新的 shell 窗口后,如果要繼續安裝過程,請重新執行此處的 export 命令
export MASTER_IP=10.1.8.103
# 替換 apiserver.demo 為 您想要的 dnsName
export APISERVER_NAME=abner.com
# Kubernetes 容器組所在的網段,該網段安裝完成后,由 kubernetes 創建,事先并不存在于您的物理網絡中
export POD_SUBNET=10.100.0.1/16
echo "${MASTER_IP} ${APISERVER_NAME}" >> /etc/hosts
curl -sSL https://kuboard.cn/install-script/v1.19.x/init_master.sh | sh -s 1.19.5
[root@Kubernetes-master ~]# export MASTER_IP=10.1.8.103
[root@Kubernetes-master ~]# export APISERVER_NAME=abner.com
[root@Kubernetes-master ~]# export POD_SUBNET=10.100.0.1/16
[root@Kubernetes-master ~]# echo "${MASTER_IP} ${APISERVER_NAME}" >> /etc/hosts
[root@Kubernetes-master ~]# curl -sSL https://kuboard.cn/install-script/v1.19.x/init_master.sh | sh -s 1.19.5

查看node狀態

# 查看結果等待全部running
[root@Kubernetes-master ~]# kubectl get pod -n kube-system -o wide
NAME                                        READY   STATUS    RESTARTS   AGE   IP             NODE                NOMINATED NODE   READINESS GATES
calico-kube-controllers-6c89d944d5-4tbwx    1/1     Running   1          60m   10.100.237.5   kubernetes-master   <none>           <none>
calico-node-cjnvr                           1/1     Running   1          60m   10.1.8.103     kubernetes-master   <none>           <none>
coredns-59c898cd69-99sqk                    1/1     Running   1          60m   10.100.237.6   kubernetes-master   <none>           <none>
coredns-59c898cd69-mrpjx                    1/1     Running   1          60m   10.100.237.4   kubernetes-master   <none>           <none>
etcd-kubernetes-master                      1/1     Running   2          61m   10.1.8.103     kubernetes-master   <none>           <none>
kube-apiserver-kubernetes-master            1/1     Running   2          61m   10.1.8.103     kubernetes-master   <none>           <none>
kube-controller-manager-kubernetes-master   1/1     Running   1          61m   10.1.8.103     kubernetes-master   <none>           <none>
kube-proxy-22tb9                            1/1     Running   2          60m   10.1.8.103     kubernetes-master   <none>           <none>
kube-scheduler-kubernetes-master            1/1     Running   1          61m   10.1.8.103     kubernetes-master   <none>           <none>
# 查看node狀態
[root@Kubernetes-master ~]# kubectl  get nodes -o wide
NAME                STATUS   ROLES    AGE   VERSION   INTERNAL-IP   EXTERNAL-IP   OS-IMAGE                KERNEL-VERSION          CONTAINER-RUNTIME
kubernetes-master   Ready    master   60m   v1.19.5   10.1.8.103    <none>        CentOS Linux 7 (Core)   3.10.0-693.el7.x86_64   docker://19.3.11

初始化node節點

獲取join命令參數

在master節點執行,生成的token有效時間為2小時

[root@Kubernetes-master ~]# kubeadm token create --print-join-command
W0814 10:55:55.430938   81817 configset.go:348] WARNING: kubeadm cannot validate component configs for API groups [kubelet.config.k8s.io kubeproxy.config.k8s.io]
kubeadm join abner.com:6443 --token vbxsvs.ijri7kwh4fdajzra     --discovery-token-ca-cert-hash sha256:467eedcc799fd0cd8fbe333c41fde8524373866df460d87b2e455134b5c50054

所有node節點執行

# 只在 node 節點執行
# 替換 x.x.x.x 為 master 節點的內網 IP
export MASTER_IP=10.1.8.103
# 替換 apiserver.demo 為初始化 master 節點時所使用的 APISERVER_NAME
export APISERVER_NAME=abner.com
echo "${MASTER_IP} ${APISERVER_NAME}" >> /etc/hosts
kubeadm join abner.com:6443 --token vbxsvs.ijri7kwh4fdajzra     --discovery-token-ca-cert-hash sha256:467eedcc799fd0cd8fbe333c41fde8524373866df460d87b2e455134b5c50054
[root@Kubernetes-node ~]# export MASTER_IP=10.1.8.103
[root@Kubernetes-node ~]# export APISERVER_NAME=abner.com
[root@Kubernetes-node ~]# echo "${MASTER_IP} ${APISERVER_NAME}" >> /etc/hosts
[root@Kubernetes-node ~]# kubeadm join abner.com:6443 --token vbxsvs.ijri7kwh4fdajzra     --discovery-token-ca-cert-hash sha256:467eedcc799fd0cd8fbe333c41fde8524373866df460d87b2e455134b5c50054

檢查初始化結果,等待一會,node節點為Ready狀態即可

[root@Kubernetes-master ~]# kubectl get node
NAME                STATUS     ROLES    AGE   VERSION
kubernetes-master   Ready      master   65m   v1.19.5
kubernetes-node     Ready      <none>   55s   v1.19.5

整合Yaml文件

image-20250814111655667

因為yaml資源文件可以在k8s上創建應用pod,所以需要提前創建yaml,拉取到k8s服務器上在gitlab上新建YAML文件

gitlab頁面-項目中

image-20250814111927591

image-20250814111955683

apiVersion: apps/v1
kind: Deployment
metadata:name: pipelinelabels:app: pipeline
spec:replicas: 2selector:matchLabels:app: pipelinetemplate:metadata:labels:app: pipelinespec:containers:- name: pipelineimage: 10.1.8.102:80/repo/pipeline:v3.0imagePullPolicy: Always ports:- containerPort: 8080
---
apiVersion: v1
kind: Service
metadata:labels:app: pipelinename: pipeline
spec:selector:app: pipelineports:- port: 8081targetPort: 8080type: NodePort

對接harbor倉庫

在所有節點添加harbor倉庫地址配置

[root@Kubernetes-master ~]# cat /etc/docker/daemon.json 
{"insecure-registries": ["10.1.8.102:80"],  # 添加harbor倉庫"registry-mirrors": ["https://09def58152000fc00ff0c00057bad7e0.mirror.swr.myhuaweicloud.com"],"exec-opts": ["native.cgroupdriver=systemd"],"log-driver": "json-file","log-opts": {"max-size": "100m"},"storage-driver": "overlay2","storage-opts": ["overlay2.override_kernel_check=true"]
}
[root@Kubernetes-master ~]# systemctl restart docker# 測試 harbor節點登錄
[root@Kubernetes-master ~]# docker login -u admin -p Gzq20000308. 10.1.8.102:80 
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-storeLogin Succeeded

YAML推送K8S服務器設置

主節點創建推送目標目錄

# 創建推送目標目錄
[root@Kubernetes-master ~]# mkdir /usr/local/k8s
[root@Kubernetes-master ~]# chmod 777 /usr/local/k8s
[root@Kubernetes-master ~]# ll /usr/local/ | grep k8s
drwxrwxrwx  2 root root  6 814 11:32 k8s

jenkins-系統管理-系統配置

image-20250814113757164

image-20250814113803809

jenkins頁面-pipline項目-流水線語法

image-20250814114412024

image-20250814114529960

image-20250814114541499

將流水線腳本復制到gitlab的Jenkinsfile中

image-20250814114805877

sshPublisher(publishers: [sshPublisherDesc(configName: 'K8S', transfers: [sshTransfer(cleanRemote: false, excludes: '', execCommand: '', execTimeout: 120000, flatten: false, makeEmptyDirs: false, noDefaultExcludes: false, patternSeparator: '[, ]+', remoteDirectory: '', remoteDirectorySDF: false, removePrefix: '', sourceFiles: 'pipeline.yaml')], usePromotionTimestamp: false, useWorkspaceInPromotion: false, verbose: false)])

新增tag的標簽

image-20250814115058953

image-20250814115127439

構建測試yaml文件的推送

image-20250814115221069

master節點上查看是否傳遞成功

[root@Kubernetes-master ~]# ls /usr/local/k8s/
pipeline.yaml

Jenkins使用無密碼登錄K8S的master節點

因為希望使用ssh 用戶名@k8s地址 kubectl apply -f /usr/local/k8s/pipeline.yml創建資源,會進行ssh免交互

把Jenkins中的公鑰內容傳遞給k8s的master實現免密

[root@Jenkins ~]# docker exec -it jenkins bash
jenkins@392ae884a4ea:/$ cd ~
jenkins@392ae884a4ea:~$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/var/jenkins_home/.ssh/id_rsa): 
Created directory '/var/jenkins_home/.ssh'.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /var/jenkins_home/.ssh/id_rsa
Your public key has been saved in /var/jenkins_home/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:Xz49X2FABJOHBr9xElJvnMnHRJvIcpGriYsZaBSvSzg jenkins@392ae884a4ea
The key's randomart image is:
+---[RSA 3072]----+
|         oo==+oo |
|     .    o+OoB o|
|      o   .=.&.= |
|     . .    O.o  |
|    o o S ..+  o |
|   E = . o = .. .|
|    + . + o o o .|
|     . o .   . o.|
|                .|
+----[SHA256]-----+
jenkins@392ae884a4ea:~$ cd .ssh/
# 復制公鑰內容傳遞給master
jenkins@392ae884a4ea:~/.ssh$ cat id_rsa.pub 
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCyMzwHnfEvSdbgwFqlPPTqLZGCsDHoYkbwywAKsniM2nKfRXl3WCSgGvNF8RL9YJvcsmJSDuPtuXBX/8LlwT7Wf28pSApHuRq4ud9JwuAYd90vKUcopXAnWaxRHEWLMvXOg3H5w5pEgzk/KpJA39awA0TKaohc4nt2o+xvgXaCgHS3rMR75KV0ypS+2ABHEugK0hdHXx1lXNJzAn2L/wKB78DJXpmNv4pebW1x50uBZY8YZuShBo/0nzFajQzOW3G6zYYVma7wzUH3UU7aGeyN/goRVVk0EzVYEsRD0CLrr3I3WBlpFnD3TbVN6/70uuA2jjiHXCwpCCssVWsOQyXlw2GYABpmhgy0C5ekJrwdbsqI230JYO9VD1BrxAnEBlAUJtQfBIiQGrxYrSFEWHXtek86MVgRYetQHM/8VvuV+2MoGPYzZZgFNoARUMYocSJJU8YIsHjEF4xD7A6wKzlnMcr5eS/a56lx1MLdgrY0eAX7m1m2pD4IwDxJZrbzmMU= jenkins@392ae884a4ea

master節點

[root@Kubernetes-master ~]# mkdir .ssh
[root@Kubernetes-master ~]# cd .ssh/
[root@Kubernetes-master .ssh]# cat authorized_keys 
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCyMzwHnfEvSdbgwFqlPPTqLZGCsDHoYkbwywAKsniM2nKfRXl3WCSgGvNF8RL9YJvcsmJSDuPtuXBX/8LlwT7Wf28pSApHuRq4ud9JwuAYd90vKUcopXAnWaxRHEWLMvXOg3H5w5pEgzk/KpJA39awA0TKaohc4nt2o+xvgXaCgHS3rMR75KV0ypS+2ABHEugK0hdHXx1lXNJzAn2L/wKB78DJXpmNv4pebW1x50uBZY8YZuShBo/0nzFajQzOW3G6zYYVma7wzUH3UU7aGeyN/goRVVk0EzVYEsRD0CLrr3I3WBlpFnD3TbVN6/70uuA2jjiHXCwpCCssVWsOQyXlw2GYABpmhgy0C5ekJrwdbsqI230JYO9VD1BrxAnEBlAUJtQfBIiQGrxYrSFEWHXtek86MVgRYetQHM/8VvuV+2MoGPYzZZgFNoARUMYocSJJU8YIsHjEF4xD7A6wKzlnMcr5eS/a56lx1MLdgrY0eAX7m1m2pD4IwDxJZrbzmMU= jenkins@392ae884a4ea
# 重啟sshd服務
[root@Kubernetes-master ~]# systemctl restart sshd

Jenkins容器中驗證

jenkins@392ae884a4ea:~/.ssh$ ssh root@10.1.8.103 ls /
bin
boot
dev
dvd
etc
home
lib
lib64
media
mnt
opt
proc
root
run
sbin
srv
sys
tmp
usr
var

Jenkins中設置YAML部署

Jenkins頁面-pipline-流水線-流水線語法

image-20250814140612137

sh 'ssh root@10.1.8.103 kubectl apply -f /usr/local/k8s/pipeline.yaml'

gitlab的jenkinsfile中增加步驟

image-20250814141446451

修改pipeline.yaml拉取4.0鏡像

image-20250814141130134

修改首頁內容

路徑:src/main/java/com/chenyan/demo/controller/TestController.java

image-20250814141246941

gitlab中把原來的v4.0標簽刪除,重新創建,命名依然寫v4.0

image-20250814141316032

Jenkins頁面-pipline-進行構建

image-20250814144540093

# master節點上查看資源
[root@Kubernetes-master ~]# kubectl get pod -o wide
NAME                        READY   STATUS    RESTARTS   AGE   IP             NODE              NOMINATED NODE   READINESS GATES
pipeline-54f899865d-7gqgk   1/1     Running   0          12m   10.100.7.130   kubernetes-node   <none>           <none>
pipeline-54f899865d-8z6d4   1/1     Running   0          12m   10.100.7.129   kubernetes-node   <none>           <none>[root@Kubernetes-master ~]# kubectl get svc
NAME         TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)          AGE
kubernetes   ClusterIP   10.96.0.1       <none>        443/TCP          4h53m
pipeline     NodePort    10.96.166.168   <none>        8081:30831/TCP   10m# node上查看pipeline鏡像
[root@Kubernetes-node ~]# docker images 10.1.8.102:80/repo/pipeline
REPOSITORY                    TAG                 IMAGE ID            CREATED             SIZE
10.1.8.102:80/repo/pipeline   v4.0                99a6a3f548d5        13 minutes ago      543MB

查看網頁

image-20250814144751070

查看釘釘通知

image-20250814144826944

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/918755.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/918755.shtml
英文地址,請注明出處:http://en.pswp.cn/news/918755.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C/C++ 指針與內存操作詳解——從一級指針到字符串轉換函數的完整解析

C/C 指針與內存操作詳解——從一級指針到字符串轉換函數的完整解析 本文將帶你系統理解 一級指針與二級指針的區別、數組拷貝的注意事項、字符串轉整數函數實現 等 C/C 編程中常見且易混淆的知識點&#xff0c;并配合詳細代碼示例與常見坑點分析&#xff0c;讓你從入門到掌握。…

Java -- HashSet的全面說明-Map接口的常用方法-遍歷方法

目錄 1. HashSet的全面說明 2. Map接口實現類的特點 注意&#xff1a;講的是JDK8的Map接口特點 3. Map接口的常用方法 4. Map遍歷方法 1. HashSet的全面說明 1. HashSet實現了Set接口 2. HashSet實際上是HashMap 3. 可以存放null值&#xff0c;但是只能有一個null 4. H…

【python】類型注解

參考【為什么越來越多Python項目都在寫類型注解&#xff1f;】 https://www.bilibili.com/video/BV1sW81zbEkD/?share_sourcecopy_web&vd_source9332b8fc5ea8d349a54c3989f6189fd3代碼示例使用變量 : 類型名 來注解。""" python類型注解 """…

零基礎入門PostgreSQL教學視頻,持續更新

PostgreSQL數據庫在國內的迅速發展&#xff0c;引起了很多數據庫從業者的注意&#xff0c;不少人都想學習這個熱門的技術&#xff0c;但是畢竟有PostgreSQL有自己的特點與優勢&#xff0c;不同于Oracle、MySQL等數據庫&#xff0c;想要快速入門PostgreSQL技術需要下一些功夫。一…

PageAdmin與WordPress哪個適合企業建站

對于企業建站需求&#xff0c;PageAdmin和WordPress各有特點&#xff0c;以下是綜合對比分析&#xff1a; ?功能與專業性? ?PageAdmin?&#xff1a;專為企業級網站設計&#xff0c;內置自定義字段、表單和多站點管理功能&#xff0c;適合需要高定制化的企業官網、政府或學校…

微服務單元測試組件

背景 微服務的調試&#xff0c;哪怕是簡單問題&#xff0c;需要啟動9個服務&#xff0c;ui/nginx 網關 應用 auth 基礎數據服務 redis nacos 平臺服務 &#xff0c;效率差得不行&#xff0c;準備開發一個支持微服務環境的單元測試組件&#xff0c; 組件解決3個問題&#xff1a…

從零到一的 Python CI/CD 實戰指南:用 GitHub Actions 與 Jenkins 打造穩定、可持續交付的工程力

從零到一的 Python CI/CD 實戰指南:用 GitHub Actions 與 Jenkins 打造穩定、可持續交付的工程力 當我們把第一行 Python 程序跑通時,成就感像破土的新芽;而當它在每次提交后自動被測試、打包、發布、上線,穩定服務成千上萬的用戶,那是“工程化”的成熟。本文帶你從概念到…

如何在保持人設新鮮感的同時,強化受眾記憶點?

保持人設新鮮感與強化受眾記憶點&#xff0c;本質是 “動態創新” 與 “核心穩定” 的平衡藝術。既需通過有序變化避免受眾審美疲勞&#xff0c;又需讓核心特質在重復中加深烙印&#xff0c;關鍵在于建立 “錨點穩定、外延流動” 的內容體系。一、錨定 “核心記憶單元”&#x…

Ubuntu 22.04 離線環境下 Python 包與 FFmpeg 安裝全攻略?

Ubuntu 22.04 離線環境下 Python 包與 FFmpeg 安裝全攻略 在沒有網絡連接的 Ubuntu 22.04 環境中安裝軟件包常常會遇到各種依賴問題&#xff0c;尤其是 Python 庫和 FFmpeg 這類依賴復雜的工具。 本文將詳細介紹如何在離線環境中安裝指定的 Python 包&#xff08;包括 OpenCV、…

ESP32 I2S音頻總線學習筆記(六):DIY藍牙音箱教程

往期相關文章&#xff1a; ESP32 I2S音頻總線學習筆記&#xff08;一&#xff09;&#xff1a;初識I2S通信與配置基礎 ESP32 I2S音頻總線學習筆記&#xff08;二&#xff09;&#xff1a;I2S讀取INMP441音頻數據 ESP32 I2S音頻總線學習筆記&#xff08;三&#xff09;&#…

springboot博客實戰筆記02

一、評論功能&#xff1a; 注意要先登錄之后才能進行評論&#xff0c;所有把評論加入到登錄攔截器當中 Overridepublic void addInterceptors(InterceptorRegistry registry) {//攔截test接口&#xff0c;后續實際遇到需要攔截的接口時&#xff0c;在配置為真正的攔截接口regis…

ThinkPHP+Mysql 靈活用工小程序-技術深度解析與實踐指南

一、模塊設計分包商&#xff1a;稅地注冊公司&#xff0c;用于在當地申請有利的稅收政策&#xff0c;是實際報稅公司。 代理商&#xff1a;代理商可以邀請客戶使用本平臺&#xff0c;平臺會給予代理商一定的服務費差價作為傭金。 客戶&#xff1a;使用本平臺進行工資發放的…

開源數據發現平臺:Amundsen 第1部分:基礎入門與本地環境設置

Amundsen 是一個數據發現和元數據引擎&#xff0c;旨在提高數據分析師、數據科學家和工程師與數據交互時的生產力。目前&#xff0c;它通過索引數據資源&#xff08;表格、儀表板、數據流等&#xff09;并基于使用模式&#xff08;例如&#xff0c;查詢頻率高的表格會優先于查詢…

Linux編程--進程

1、基本概念&#xff1a;進程&#xff1a;是程序動態執行的過程&#xff0c;包括創建、調度、消亡程序&#xff1a;存放在外存中一段數據的集合虛擬地址&#xff1a;進程使用的邏輯地址&#xff0c;有操作系統管理&#xff0c;不直接對應物理內存物理地址&#xff1a;實際內存的…

【開源工具】基于硬件指紋的“一機一碼”軟件授權系統全實現(附完整源碼)

?? 緊急預警!你的軟件正在被白嫖?這套Python軟件加密授權方案讓破解者當場崩潰 ?? 個人主頁:創客白澤 - CSDN博客 ?? 系列專欄:??《Python開源項目實戰》 ?? 熱愛不止于代碼,熱情源自每一個靈感閃現的夜晚。愿以開源之火,點亮前行之路。 ?? 希望大家多多支持…

機器學習算法篇(八)-------svm支持向量機

目錄 ??1. SVM 的核心原理&#xff08;必須掌握&#xff09;?? ??2. Python 中的實踐重點?? ??(1) Scikit-learn 的 SVM 實現?? ??(2) 數據預處理?? ??(3) 模型評估與調優?? ??3. 學習側重點優先級?? ??4. 經典案例實踐方向?? ??5. 學習…

發票查驗接口接收參數說明-PHP語言集成-財務管理

發票驗真服務接口可實時聯網核驗發票真偽&#xff0c;查驗一致時返回全票面信息。其支持核驗增值稅發票管理系統開具發票的真偽&#xff0c;且能進行發票批量查驗&#xff0c;當日開具的發票當日即可查驗。同時&#xff0c;結合發票識別接口可實現自動識別發票信息核驗&#xf…

Uniapp物聯網平臺登錄與溫濕度監測系統

下面是一個完整的Uniapp物聯網平臺實現&#xff0c;包含登錄功能和溫濕度監測系統。這個解決方案采用現代化UI設計&#xff0c;模擬了物聯網平臺的核心功能。文章末尾提供源碼下載。 系統功能說明 這個Uniapp物聯網平臺登錄與溫濕度監測系統包含以下核心功能&#xff1a; 1.…

【企業架構】TOGAF概念之四(終結)

導讀&#xff1a;學習TOGAF&#xff08;The Open Group Architecture Framework&#xff0c;開放組架構框架&#xff09;相關概念的意義和價值&#xff0c;體現在它為企業架構&#xff08;Enterprise Architecture, EA&#xff09;實踐提供了標準化方法論、跨領域協同框架、戰略…

centos 怎么部署 vscode 網頁版

安裝編譯工具 下載適用于 linux 版本的 rpm 格式文件 下載 Visual Studio Tools - 免費安裝 Windows、Mac、Linux 拷貝路徑&#xff0c;下載文件 wget https://vscode.download.prss.microsoft.com/dbazure/download/stable/e3550cfac4b63ca4eafca7b601f0d2885817fd1f/code…