K8S集群中Yaml文件詳解

目錄

一、Yaml概述

二、Yaml基本語法

三、Yaml數據結構

四、K8S資源清單描述方法

五、api資源版本標簽

六、Yaml文件示例詳解

1.deployment.yaml文件詳解

2.Pod yaml文件詳解

3.Service yaml文件詳解

七、Yaml文件相關操作

1.試運行

2.生成yaml格式

3.生成json格式?

4.使用yaml格式導出生成模板

5. 先查看已經部署的資源

6.導出資源配置

7.導出資源并保存在指定文件中

8.查看字段幫助信息

9.部署和卸載yaml文件


一、Yaml概述

K8S集群中對資源管理和資源對象編排部署都可以通過聲明YAML文件來解決,也就是可以把需要對資源對象操作編輯到 YAML 格式文件中,我們把這種文件叫做資源清單文件,通過?kubectl?命令直接使用資源清單文件就可以實現對大量的資源對象進行編排部署了。

  • YAML 文件 : 就是資源清單文件,用于資源編排

二、Yaml基本語法

  • 通過縮進表示層級關系;
  • 使用空格做為縮進,縮進的空格數目不重要,只要相同層級的元素左側對齊即可,一般縮進兩個空格;
  • 低版本縮進時不允許使用 Tab 鍵,只允許使用空格;
  • 使用#代表注釋,從這個字符一直到行尾,都會被解釋器忽略;
  • 使用 --- 表示新的 yaml 文件開始;

三、Yaml數據結構

  • 對象:鍵值對的集合,又稱為映射 (mapping) / 哈希(hashes) / 字典(dictionary)
# 對象類型:對象的一組鍵值對,使用冒號結構表示
name: Tom
age: 18# yaml 也允許另一種寫法,將所有鍵值對寫成一個行內對象
hash: {name: Tom, age: 18}
  • 數組: 一組按次序排列的值,又稱為序列(sequence) / 列表 (list)
# 數組類型:一組連詞線開頭的行,構成一個數組
People
- Tom
- Jack# 數組也可以采用行內表示法
People: [Tom, Jack]
  • 純量(scalars): 單個的、不可再分的值
number: 10.01flag: true# 字符串默認不使用引號表示
str: hello world# 如果字符串中間包含空格或者特殊字符,需要放到引號中
str1: 'hello: world'# 雙引號不會對特殊字符進行轉義
s1: '張\n三'
s2: "張\n三"# 單引號中還有單引號,需要連續用兩個單引號進行轉義
s3: 'hello''world'

四、K8S資源清單描述方法

在 k8s 中,一般使用 YAML 格式的文件來創建符合我們預期期望的pod,這樣的YAML 文件稱為資源清單。主要分為兩大部分,一個是控制器的定義、另一個是被控制的對象

資源清單中常用的屬性名稱:

參數名

字段類型

說明

是否必須

version

String

這里指定是K8S API的版本,目前基本上是v1,可以通過kubectl api-versions命令查詢

kind

String

yaml文件定義的資源類型和角色,比如:Pod、Deployment、ReplicaSet、Service

metadata

Object

元數據對象,固定值就寫metadata

metadata.name

String

元數據對象的名字,由我們自定義,比如命名Pod的名字,Service的名字

metadata.namespace

String

元數據對象的命名空間,由我們自定義。非必填,默認為default

spec

Object

詳細定義對象,固定值就寫spec

spec.containers[]

list

spec對象的容器列表定義

spec.containers[].name

String

容器名字

spec.containers[].image

String

容器所使用的鏡像

spec.containers[].imagePullPolicyString

定義鏡像拉取策略,有Always、Never、IfNotPresent三個值。

Always:意思是每次都嘗試重新拉取鏡像。(默認值是Always)

Never:表示僅使用本地鏡像。

IfNotPresent:如果本地有鏡像,就使用本地鏡像,本地沒有就拉取在線鏡像。

spec.containers[].args[]

List

指定容器啟動命令參數,因為是數組可以指定多個

五、api資源版本標簽

[root@master01 ~]# kubectl api-versions admissionregistration.k8s.io/v1
admissionregistration.k8s.io/v1beta1
apiextensions.k8s.io/v1
apiextensions.k8s.io/v1beta1
apiregistration.k8s.io/v1
apiregistration.k8s.io/v1beta1
apps/v1                            #如果是業務場景一般首選使用 apps/v1
authentication.k8s.io/v1
authentication.k8s.io/v1beta1      #帶有beta字樣的代表的是測試版本,不用在生產環境中
authorization.k8s.io/v1
authorization.k8s.io/v1beta1
autoscaling/v1
autoscaling/v2beta1
autoscaling/v2beta2
batch/v1
batch/v1beta1
certificates.k8s.io/v1
certificates.k8s.io/v1beta1
coordination.k8s.io/v1
coordination.k8s.io/v1beta1
discovery.k8s.io/v1beta1
events.k8s.io/v1
events.k8s.io/v1beta1
extensions/v1beta1
flowcontrol.apiserver.k8s.io/v1beta1
networking.k8s.io/v1
networking.k8s.io/v1beta1
node.k8s.io/v1
node.k8s.io/v1beta1
policy/v1beta1
rbac.authorization.k8s.io/v1
rbac.authorization.k8s.io/v1beta1
scheduling.k8s.io/v1
scheduling.k8s.io/v1beta1
storage.k8s.io/v1
storage.k8s.io/v1beta1
v1

六、Yaml文件示例詳解

1.deployment.yaml文件詳解

apiVersion: extensions/v1beta1   #接口版本
kind: Deployment                 #接口類型
metadata:name: cango-demo               #Deployment名稱namespace: cango-prd           #命名空間labels:app: cango-demo              #標簽
spec:replicas: 3strategy:rollingUpdate:  ##由于replicas為3,則整個升級,pod個數在2-4個之間maxSurge: 1      #滾動升級時會先啟動1個podmaxUnavailable: 1 #滾動升級時允許的最大Unavailable的pod個數template:         metadata:labels:app: cango-demo  #模板名稱必填sepc: #定義容器模板,該模板可以包含多個容器containers:                                                                   - name: cango-demo                                                           #鏡像名稱image: swr.cn-east-2.myhuaweicloud.com/cango-prd/cango-demo:0.0.1-SNAPSHOT #鏡像地址command: [ "/bin/sh","-c","cat /etc/config/path/to/special-key" ]    #啟動命令args:                                                                #啟動參數- '-storage.local.retention=$(STORAGE_RETENTION)'- '-storage.local.memory-chunks=$(STORAGE_MEMORY_CHUNKS)'- '-config.file=/etc/prometheus/prometheus.yml'- '-alertmanager.url=http://alertmanager:9093/alertmanager'- '-web.external-url=$(EXTERNAL_URL)'#如果command和args均沒有寫,那么用Docker默認的配置。#如果command寫了,但args沒有寫,那么Docker默認的配置會被忽略而且僅僅執行.yaml文件的command(不帶任何參數的)。#如果command沒寫,但args寫了,那么Docker默認配置的ENTRYPOINT的命令行會被執行,但是調用的參數是.yaml中的args。#如果如果command和args都寫了,那么Docker默認的配置被忽略,使用.yaml的配置。imagePullPolicy: IfNotPresent  #如果不存在則拉取livenessProbe:       #表示container是否處于live狀態。如果LivenessProbe失敗,LivenessProbe將會通知kubelet對應的container不健康了。隨后kubelet將kill掉container,并根據RestarPolicy進行進一步的操作。默認情況下LivenessProbe在第一次檢測之前初始化值為Success,如果container沒有提供LivenessProbe,則也認為是Success;httpGet:path: /health #如果沒有心跳檢測接口就為/port: 8080scheme: HTTPinitialDelaySeconds: 60 ##啟動后延時多久開始運行檢測timeoutSeconds: 5successThreshold: 1failureThreshold: 5readinessProbe:httpGet:path: /health #如果沒有心跳檢測接口就為/port: 8080scheme: HTTPinitialDelaySeconds: 30 ##啟動后延時多久開始運行檢測timeoutSeconds: 5successThreshold: 1failureThreshold: 5resources:              ##CPU內存限制requests:cpu: 2memory: 2048Milimits:cpu: 2memory: 2048Mienv:                    ##通過環境變量的方式,直接傳遞pod=自定義Linux OS環境變量- name: LOCAL_KEY     #本地Keyvalue: value- name: CONFIG_MAP_KEY  #局策略可使用configMap的配置Key,valueFrom:configMapKeyRef:name: special-config   #configmap中找到name為special-configkey: special.type      #找到name為special-config里data下的keyports:- name: httpcontainerPort: 8080 #對service暴露端口volumeMounts:     #掛載volumes中定義的磁盤- name: log-cachemount: /tmp/log- name: sdb       #普通用法,該卷跟隨容器銷毀,掛載一個目錄mountPath: /data/media    - name: nfs-client-root    #直接掛載硬盤方法,如掛載下面的nfs目錄到/mnt/nfsmountPath: /mnt/nfs- name: example-volume-config  #高級用法第1種,將ConfigMap的log-script,backup-script分別掛載到/etc/config目錄下的一個相對路徑path/to/...下,如果存在同名文件,直接覆蓋。mountPath: /etc/config       - name: rbd-pvc                #高級用法第2中,掛載PVC(PresistentVolumeClaim)#使用volume將ConfigMap作為文件或目錄直接掛載,其中每一個key-value鍵值對都會生成一個文件,key為文件名,value為內容,volumes:  # 定義磁盤給上面volumeMounts掛載- name: log-cacheemptyDir: {}- name: sdb  #掛載宿主機上面的目錄hostPath:path: /any/path/it/will/be/replaced- name: example-volume-config  # 供ConfigMap文件內容到指定路徑使用configMap:name: example-volume-config  #ConfigMap中名稱items:- key: log-script           #ConfigMap中的Keypath: path/to/log-script  #指定目錄下的一個相對路徑path/to/log-script- key: backup-script        #ConfigMap中的Keypath: path/to/backup-script  #指定目錄下的一個相對路徑path/to/backup-script- name: nfs-client-root         #供掛載NFS存儲類型nfs:server: 10.42.0.55          #NFS服務器地址path: /opt/public           #showmount -e 看一下路徑- name: rbd-pvc                 #掛載PVC磁盤persistentVolumeClaim:claimName: rbd-pvc1         #掛載已經申請的pvc磁盤

2.Pod yaml文件詳解

apiVersion: v1			#必選,版本號,例如v1
kind: Pod				#必選,Pod
metadata:				#必選,元數據name: string			  #必選,Pod名稱namespace: string		  #必選,Pod所屬的命名空間labels:				  #自定義標簽- name: string		    #自定義標簽名字annotations:			    #自定義注釋列表- name: string
spec:					#必選,Pod中容器的詳細定義containers:			  #必選,Pod中容器列表- name: string		    #必選,容器名稱image: string		    #必選,容器的鏡像名稱imagePullPolicy: [Always | Never | IfNotPresent]	#獲取鏡像的策略:Alawys表示總是下載鏡像,IfnotPresent表示優先使用本地鏡像,否則下載鏡像,Nerver表示僅使用本地鏡像command: [string]		#容器的啟動命令列表,如不指定,使用打包時使用的啟動命令args: [string]			#容器的啟動命令參數列表workingDir: string		#容器的工作目錄volumeMounts:			#掛載到容器內部的存儲卷配置- name: string			  #引用pod定義的共享存儲卷的名稱,需用volumes[]部分定義的的卷名mountPath: string		  #存儲卷在容器內mount的絕對路徑,應少于512字符readOnly: boolean		  #是否為只讀模式ports:					#需要暴露的端口庫號列表- name: string			  #端口號名稱containerPort: int	  #容器需要監聽的端口號hostPort: int			  #容器所在主機需要監聽的端口號,默認與Container相同protocol: string		  #端口協議,支持TCP和UDP,默認TCPenv:					#容器運行前需設置的環境變量列表- name: string			  #環境變量名稱value: string			  #環境變量的值resources:				#資源限制和請求的設置limits:				  #資源限制的設置cpu: string			    #Cpu的限制,單位為core數,將用于docker run --cpu-shares參數memory: string			#內存限制,單位可以為Mib/Gib,將用于docker run --memory參數requests:				  #資源請求的設置cpu: string			    #Cpu請求,容器啟動的初始可用數量memory: string		    #內存清楚,容器啟動的初始可用數量livenessProbe:     		#對Pod內個容器健康檢查的設置,當探測無響應幾次后將自動重啟該容器,檢查方法有exec、httpGet和tcpSocket,對一個容器只需設置其中一種方法即可exec:					#對Pod容器內檢查方式設置為exec方式command: [string]	  #exec方式需要制定的命令或腳本httpGet:				#對Pod內個容器健康檢查方法設置為HttpGet,需要制定Path、portpath: stringport: numberhost: stringscheme: stringHttpHeaders:- name: stringvalue: stringtcpSocket:			#對Pod內個容器健康檢查方式設置為tcpSocket方式port: numberinitialDelaySeconds: 0	#容器啟動完成后首次探測的時間,單位為秒timeoutSeconds: 0		#對容器健康檢查探測等待響應的超時時間,單位秒,默認1秒periodSeconds: 0			#對容器監控檢查的定期探測時間設置,單位秒,默認10秒一次successThreshold: 0failureThreshold: 0securityContext:privileged:falserestartPolicy: [Always | Never | OnFailure]		#Pod的重啟策略,Always表示一旦不管以何種方式終止運行,kubelet都將重啟,OnFailure表示只有Pod以非0退出碼退出才重啟,Nerver表示不再重啟該PodnodeSelector: obeject		#設置NodeSelector表示將該Pod調度到包含這個label的node上,以key:value的格式指定imagePullSecrets:			#Pull鏡像時使用的secret名稱,以key:secretkey格式指定- name: stringhostNetwork:false			#是否使用主機網絡模式,默認為false,如果設置為true,表示使用宿主機網絡volumes:					#在該pod上定義共享存儲卷列表- name: string				  #共享存儲卷名稱 (volumes類型有很多種)emptyDir: {}				  #類型為emtyDir的存儲卷,與Pod同生命周期的一個臨時目錄。為空值hostPath: string			  #類型為hostPath的存儲卷,表示掛載Pod所在宿主機的目錄path: string			    #Pod所在宿主機的目錄,將被用于同期中mount的目錄secret:					#類型為secret的存儲卷,掛載集群與定義的secre對象到容器內部scretname: string  items:     - key: stringpath: stringconfigMap:				#類型為configMap的存儲卷,掛載預定義的configMap對象到容器內部name: stringitems:- key: string

3.Service yaml文件詳解

apiVersion: v1
kind: Service
matadata:                                #元數據name: string                           #service的名稱namespace: string                      #命名空間  labels:                                #自定義標簽屬性列表- name: stringannotations:                           #自定義注解屬性列表  - name: string
spec:                                    #詳細描述selector: []                           #label selector配置,將選擇具有label標簽的Pod作為管理 #范圍type: string                           #service的類型,指定service的訪問方式,默認為 #clusterIpclusterIP: string                      #虛擬服務地址      sessionAffinity: string                #是否支持sessionports:                                 #service需要暴露的端口列表- name: string                         #端口名稱protocol: string                     #端口協議,支持TCP和UDP,默認TCPport: int                            #服務監聽的端口號targetPort: int                      #需要轉發到后端Pod的端口號nodePort: int                        #當type = NodePort時,指定映射到物理機的端口號status:                                #當spce.type=LoadBalancer時,設置外部負載均衡器的地址loadBalancer:                        #外部負載均衡器    ingress:                           #外部負載均衡器 ip: string                       #外部負載均衡器的Ip地址值hostname: string                 #外部負載均衡器的主機名

七、Yaml文件相關操作

1.試運行

//kubectl run --dry-run=client 打印相應的 API 對象而不執行創建
kubectl run nginx-test --image=nginx --port=80 --dry-run=client

2.生成yaml格式

#查看生成yaml格式
kubectl run nginx-test --image=nginx --port=80 --replicas=3 --dry-run=client -o yaml

kubectl create deployment nginx-deploy --image=nginx --port=80 --replicas=3 --dry-run=client -o yaml

3.生成json格式?

#查看生成json格式
kubectl run nginx-test --image=nginx --port=80 --dry-run=client -o json
kubectl create deployment nginx-deploy --image=nginx --port=80 --replicas=3 --dry-run=client -o json

4.使用yaml格式導出生成模板

#使用yaml格式導出生成模板,并進行修改以及刪除一些不必要的參數
kubectl run nginx-test --image=nginx --port=80 --dry-run=client -o yaml > nginx-test.yaml
kubectl create deployment nginx-deploy --image=nginx --port=80 --replicas=3 --dry-run=client -o yaml  > nginx-deploy.yaml

5. 先查看已經部署的資源

kubectl  get  deploy

6.導出資源配置

kubectl  get  deploy  nginx  -o  yaml

7.導出資源并保存在指定文件中

 kubectl get deploy nginx -o yaml > deploy.yaml

8.查看字段幫助信息

#查看字段幫助信息,可一層層的查看相關資源對象的幫助信息
kubectl explain deployments.spec.template.spec.containers
或
kubectl explain pods.spec.containers

9.部署和卸載yaml文件

kubectl apply -f xxx.yaml	#部署
kubectl delete -f xxx.yaml	#卸載

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

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

相關文章

手搓順序表(C語言)

目錄 SeqList.h SeqList.c 頭插尾插復用任意位置插入 頭刪尾刪復用任意位置刪除 SLtest.c 測試示例 順序表優劣分析 SeqList.h //SeqList.h#pragma once#include <stdio.h> #include <assert.h> #include <stdlib.h> #define IN_CY 3typedef int S…

深入分析C#中的“編寫器”概念——代碼修改、注解與重構

文章目錄 1. 編寫器&#xff08;Writer&#xff09;的概念2. 編寫器的作用和工作原理3. 編寫器的重要性4. 寫入器常用方法5. 寫入器示例6. 編寫器示例——使用Fody進行代碼注解和重構7. 總結 在軟件開發過程中&#xff0c;代碼的維護和更新是至關重要的。C#作為一種流行的編程語…

單詞學習——不斷更新

suppress: sup - press 抑制&#xff0c;鎮壓 subtle: sub - tle 微妙的 suspend: sus - pend 延緩&#xff0c;懸掛 supplement: sup - ple - ment: 補充 suspicious: sus - pi - cious 可疑的 depress: de -press 壓抑 emit: e - mit 發出 entail: en - tail 涉及 fo…

3.00001 postgres如何初始化系統參數?

文章目錄 加載參數整體流程參數結構舉例&#xff1a;ConfigureNamesBool 初始化參數 InitializeGUCOptionsbuild_guc_variablesInitializeOneGUCOptionInitializeGUCOptionsFromEnvironment 命令行添加SelectConfigFiles配置 加載參數整體流程 我們先看下guc參數是如何管理的。…

VUE3 學習筆記(6):data數據的監聽、表單綁定、操作DOM

data數據的監聽&#xff08;偵聽&#xff09; 對于data的值的監聽&#xff0c;可以用watch中與data中的參數命名一致的值做為函數進行獲取監聽變動前后的值再做邏輯判斷&#xff0c;如下圖所示。 示例代碼 <template><div><p :class"classDemo">{…

npm install 出錯,按照版本不匹配解決

一、現象 npm install npm WARN config global --global, --local are deprecated. Use --locationglobal instead. npm ERR! code ERESOLVE npm ERR! ERESOLVE unable to resolve dependency tree npm ERR! npm ERR! While resolving: panshi-main-web0.1.0 npm ERR! Found…

七大獲取免費https的方式

想要實現https訪問最簡單有效的的方法就是安裝SSL證書。只要證書正常安裝上以后&#xff0c;瀏覽器就不會出現網站不安全提示或者訪問被攔截的情況。下面我來教大家怎么去獲取免費的SSL證書&#xff0c;又如何安裝證書實現https訪問。 一、選擇免費SSL證書提供商 有多家機構提…

C#數據類型變量、常量

一個變量只不過是一個供程序操作的存儲區的名字。 在 C# 中&#xff0c;變量是用于存儲和表示數據的標識符&#xff0c;在聲明變量時&#xff0c;您需要指定變量的類型&#xff0c;并且可以選擇性地為其分配一個初始值。 在 C# 中&#xff0c;每個變量都有一個特定的類型&…

頭歌OpenGauss數據庫-I.復雜查詢第10關:換座位

任務描述 本關任務&#xff1a;改變相鄰倆學生的座位。 小美是一所中學的信息科技老師&#xff0c;她有一張 tb_Seat座位表&#xff0c;平時用來儲存學生名字和與他們相對應的座位 id。 tb_Seat表結構數據如下&#xff1a; idname1Elon2Donny3Carey4Karin5Larisa 現在小美想改變…

規則引擎 | 減少判斷嵌套

文章目錄 目前市面上具體的規則引擎產品有&#xff1a;droolsVisualRulesEasy RulesMandaraxIBM iLog其中使用最為廣泛并且開源的是drools

windows驅動開發-PCI討論(二)

認識PCI設備&#xff0c;還是要從配置空間說起&#xff0c;當PCI在ACPI和PCI復合體上電和枚舉完成后&#xff0c;PCI根復合體會從PCI設備讀出PCI設備的配置空間&#xff0c;許多信息(例如寄存器、內存空間、中斷信息等等)都是是從配置空間獲取的&#xff0c;所以接下來會詳細講…

動手學操作系統(三、通過IO接口直接控制顯卡)

動手學操作系統&#xff08;三、通過IO接口直接控制顯卡&#xff09; 在之前的學習內容中&#xff0c;我們成功編寫了MBR主引導記錄&#xff0c;在終端上進行了打印顯示&#xff0c;在這一節我們使用MBR通過IO接口來直接控制顯卡輸出字符。 文章目錄 動手學操作系統&#xff0…

PostgreSQL Windows 數據庫主從模式 熱同步

1.操作主服務器 1.1修改pg_hba.conf // 這邊就設置所有用戶&#xff0c;所有ip都可以交互 host replication all 0.0.0.0/0 md52.2 創建流復制用戶 // 創建流復制用戶replicator CREATE USER replica REPLICATION LOGIN PASSWORD replica…

邏輯回歸(頭歌)

第1關&#xff1a;邏輯回歸算法大體思想 #encodingutf8import numpy as np#sigmoid函數 def sigmoid(t):#輸入&#xff1a;負無窮到正無窮的實數#輸出&#xff1a;轉換后的概率值#********** Begin **********#result 1.0 / (1 np.exp(-t))#********** End **********#retur…

43、Flink 的 Window Join 詳解

1.Window Join a&#xff09;概述 Window join 作用在兩個流中有相同 key 且處于相同窗口的元素上&#xff0c;窗口可以通過 window assigner 定義&#xff0c;并且兩個流中的元素都會被用于計算窗口的結果。 兩個流中的元素在組合之后&#xff0c;會被傳遞給用戶定義的 Joi…

外匯天眼:野村證券和Laser Digital與GMO互聯網集團合作發行日元和美元穩定幣

野村控股和Laser Digital將與GMO互聯網集團合作&#xff0c;在日本探索發行日元和美元穩定幣。GMO互聯網集團的美國子公司GMO-Z.com Trust Company, Inc. 在紐約州金融服務部的監管框架下&#xff0c;在以太坊、恒星幣和Solana等主要區塊鏈上發行穩定幣。GMO-Z.com Trust Compa…

MySQL增刪查改進階

數據庫約束表的關系增刪查改 目錄 一.數據庫約束類型 NOT NULL約束類型 UNIQUE 唯一約束 DEFAULT 默認值約束 PRIMARY KEY&#xff1a;主鍵約束 FOREIGN KEY :W外鍵約束 二&#xff0c;查詢 count&#xff08;&#xff09;兩種用法 sum&#xff0c;avg&#xff0c;max…

Vue3_創建項目

目錄 一、創建vue項目 1.下載vue 2.進入剛才創建的項目 3.安裝依賴 4.運行項目 ?5.打包項目放入生產環境 二、vue項目組成 1.項目文件結構 2.項目重要文件 Vue (發音為 /vju?/&#xff0c;類似 view) 是一款用于構建用戶界面的 JavaScript 框架。它基于標準 HTML、C…

Go語言中實現RSA加解密、簽名驗證算法

隨著互聯網的高速發展&#xff0c;人們對安全的要求也越來越高。密碼學中兩大經典算法&#xff0c;一個是對稱加解密&#xff0c;另一個是非對稱加解密&#xff0c;這里就來分享一下非對稱加密算法的代表&#xff1a;RSA加解密。 在Go語言中實現RSA加解密還是比較簡單的&#…

【安全產品】基于HFish的MySQL蜜罐溯源實驗記錄

MySQL蜜罐對攻擊者機器任意文件讀取 用HFish在3306端口部署MySQL蜜罐 配置讀取文件路徑 攻擊者的mysql客戶端版本為5.7(要求低于8.0) 之后用命令行直連 mysql -h 124.222.136.33 -P 3306 -u root -p 可以看到成功連上蜜罐的3306服務&#xff0c;但進行查詢后會直接lost con…