主頁 >  其他 > 【k8s連載系列】2. k8s整體架構

【k8s連載系列】2. k8s整體架構

2022-11-11 07:25:08 其他

一、Kubernetes的整體架構

學習k8s,最終目的是為了部署應用,部署一個完整的k8s, 就要知道k8s的組成,k8s主要包含兩大部分: 中間包含三個綠色包的是master服務器. 下面是node節點.

在這里提前說一下etcd,etcd是k8s集群的一個資料庫存盤服務器,它采用了RAFT演算法來選舉主節點, 所以, 要求我們的master節點個數必須是3,5, 7, 9這樣的奇數,也就是大于1的奇數個,3個節點可以保證1次高可用, 5個節點可以保證兩次高可用,7個節點可以保證3次高可用, 以此類推,也就是3個節點最多可以死一次,5個節點最多可以死2次,node節點的個數不限制,

img

上圖是k8s的簡單架構圖,可以看到有如下幾個部分:

  • master節點:左上角的最大快區域,是我們整個k8s的核心,上面說的大于1的奇數個節點,說的就是這里,
  • node節點:
  • etcd存盤端:用來存盤k8s中的資料的,主要采用Raft演算法,
  • internet網路層:
  • firewall防火墻:
  • web UI:
  • kubectl:

二、Master節點

master節點在整個服務中起著至關重要的作用

master中主要有三個部分的內容:scheduler,控制器,api server,

1、Api Server

api server是所有服務請求訪問統一的入口(所有請求的統一的入口),如果想要給k8s下達命令,不管是什么型別的命令,都需要發送給api servier,

Api Server 本身是一個HTTP Server,也就是一個web服務器,它是無狀態的,它的所有資料都會寫入到Etcd, 如果你想要管Api Server要資料,它本身是沒有的,他會去Etcd里面查詢,然后回傳給你,

從上圖可以看出. Master中scheduler需要和api server互動, rc要和api server互動, kubectl(客戶端)也要和api sever互動, web UI也要和api server互動, etcd也要和api server互動. apiserver是非常繁忙的.

api server采用的是無狀態http請求,所以,他不會記錄任何資料,所有資料都存盤在etcd上,

Kubernetes API 服務器的主要實作是 kube-apiserver, kube-apiserver 設計上考慮了水平伸縮,也就是說,我們可以通過部署多個實體進行伸縮, 你可以運行 kube-apiserver 的多個實體,并在這些實體之間平衡流量,

2、Scheduler 任務調度器

scheduler是k8s本身的一個調度器,這個調度器可以存在多個組成高可用,

scheduler是任務調度器, 負責調度任務, 選擇合適的節點來執行任務. 當用戶下達資源請求的時候,任務調度器會把任務分配給后端的多個node節點上,要基于一定的原則,公平的,快速的分發,也就是說,保證每個節點都有事做,不要浪費資源,做到資源利用最大化,所以,scheduler調度區非常關鍵,他是保證整個集群資源利用高不高的核心組件,

舉個例子,一個任務來了, 要部署一個應用,到底應該部署在哪個節點上呢? 這個程序就是通過scheduler進行任務調度的,有的機器繁忙,有的機器空閑,scheduler會找一臺空閑的機器進行部署,通過scheduler進行任務調度分發至不同的node.

scheduler會將任務交給api server, 由api server將任務寫入到etcd, 也就是說scheduler不會直接和etcd互動,

3、controller-manager 控制器管理器

controller-manager: 控制器, 處理集群中常規后臺任務,一個資源對應一個控制器,假如集群中有的pod已經死了,控制管理器就會處理將其洗掉或者救活,集群中的擴容,維穩都是有控制管理器來實作的,相當于是集群的管家,

舉例來說,有一個訂單服務,我們要部署這個服務,首先是交給任務調度器,任務調度器呼叫api server,將資訊保存到etcd,etcd會創建一個controller-manager來專門管理這個訂單服務,通常來說,一個資源對應一個控制器,

4、kubectl

命令列管理工具,這個工具我們可以安裝在任何節點上,通常,我們將其安裝在master節點上, 可以安裝在安卓手機上,蘋果手機上,windows電腦上,只要能夠通過網路連接到api server,就能下發請求,

5、Web UI

Web UI是一套可操作的界面,Dashboard是 Kubernetes 集群的通用的、基于 Web 的用戶界面, 它使用戶可以管理集群中運行的應用程式以及集群本身并進行故障排除,

這個儀表盤不是給開發者使用的,開發者通常還是使用命令列,命令列是最全的,

三、etcd資料存盤

? 先來說說etcd資料庫的背景,我們熟悉的docker是docker公司開發的,其實在docker公司吧docker做大之前,還有一個公司也在默默的付出,就是Core OS公司,知道這家公司的人不多,但這個公司的技術背景是非常強悍的,docker公司和Core OS公司關系非常好,可以說技術是半共享狀態,docker里面很多技術也是core OS公司貢獻的,但是最終的結果是docker公司走紅,一飛升天了,但是core OS公司沒有幾個人知道,但是core OS公司也獲得了強大的技術背景的實體,core OS公司也想崛起,還開發了一款容器,但很顯然,沒法和docker比,于是core OS公司ua拿了一個策略,加入到了k8s的生態構建,core OS為k8s構建了很多組件,etcd就是core OS公司開發并且維護的,采用golang語言撰寫, etcd是k8s的總存盤,由core OS公司負責,由此可見技術能力是很強的,

etcd是鍵值對資料庫, 存盤K8s集群的所有重要資訊(持久化). 在Kubernetes集群中起到的了持久化的作用.

1.etcd概念

etcd官方將其定位為一個可信賴分布式****鍵值存盤服務, 它能夠為整個分布式集群存盤一些關鍵資料, 協助分布式集群的正常運轉.

可信賴的:官方已經提供了一個高可用方案,也就是說本省自帶高可用

分布式:將資料分散到不同節點,以此來保證資料的強壯性

鍵值存盤:就是簡單的K-V對,etcd所有的資料型別只有一種存盤結構,就是k-v結構,

2. Raft演算法

  • Raft是etcd采用的演算法,叫做共識演算法,或最終一致演算法,

? 舉個例子,什么是共識演算法, 比如有一個村子,村子里有幾百個村民, 然后有一個人考上了***大學,可厲害,旁邊的鄰居知道了,然后就開始一傳十,十傳百, 最后整個村子的人都知道了, 這就是共識演算法

? 那最終一致是怎么回事呢?整個村子的人可能有的人先知道這個事,有的人晚點知道,但最終大家都知道,程序不一定一致,但結果是一致的,

? 剛剛說了Raft的節點為什么是3,5,7,9個呢,因為要投票選舉,如果資料在某個節點,比如我的資料值是2017,另外兩個事2018,已投票我就輸了,那就是以你倆的資料為準,你倆成為leader了,來管理我,你們來提供服務,我要聽你們的話,你們把資料給我,

  • 每一個Raft集群中都包含多個服務器,在任意時刻,每一臺服務器只能處于Leader、Follower以及Candidate三種狀態;在處于正常的狀態時,集群中只會存在一個Leader,其余都是Follower,

    • Leader:領導者
    • Follower:跟隨者
    • Candidate:競選者

    注意:一個能被外部正常訪問的集群只有Leader和Follower兩種狀態,并且通常只有一個leader,其余都是follower

讀寫的資訊, 所有的讀寫資訊都被存在Raft里面, 而且, 為了防止這些資訊出現損壞, 他還有一個WAL預寫日志

2. Raft演算法

  • etcd的版本

     img

 etcd現在有兩個版本, v2和v3版本,

  • V2:v2版本將資料保存到記憶體, 這樣很可能會不穩定,一宕機,資料全沒了,

  • V3: v3版本將資料保 存到磁盤. 然后進行快取加速,并且,如果使用了V3版本,官方建議采用SSD進行存盤和讀取

  • 如何選擇版本呢?不用我們自己選擇,k8s已經集成了etcd,正常我們都選擇使用v3版本, 但Kubernetes v1.11版本之前使用的是v2版本.

3、Raft內部結構

Raft內部結構如下圖,主要包含幾個方面:Http Server, Raft,Wal,Store,下面來詳細介紹

image

1> HTTP Server

這里采用的是使用http進行構建的c/s服務, k8s也是采用的http協議進行c/s服務的開發. 為什么要這么做呢? 因為http天生支持一系列的操作. 例如: get ,post, put, delete, 授權認證等. 所以, 沒有必要再去采用標準的tcp協議. 開發一系列的認證流程, 所以, 直接采用http協議即可. http協議主要解決的是資料傳輸問題,

2> Raft

共識演算法,上面說過了,這里不再贅述

3> WAL 預寫日志

什么叫預寫日志呢?在寫入修改底層資料之前,把所有的操作先保存在日志里,

  • Raft:共識演算法,從一開始就被設計成一個易于理解和實作的共識演算法,每一個Raft集群中都包含多個服務器,在任意時刻,每一臺服務器只能處于Leader、Follower以及Candidate三種狀態;在處于正常的狀態時,集群中只會存在一個Leader,其余都是Follower,

    共識演算法,或者叫最終一致演算法,比如:有3臺etcd機器在運行的程序中,突然停了,那么3臺etcd中的配置可能是不一樣的,但是,一旦運行起來,經過一段時間,最侄訓達到一致,每一個Raft集群都包含多個服務器,在任意時刻,每一臺服務器只可能處于Leader(主節點)、Follower(跟隨者)、Candidater(競選者)三種狀態中的一種,在處于正常狀態(可訪問)時,集群中只會存在一個Leader,其余的服務器都是Follower,

  • WAL: 預寫日志, 吸入到資料庫之前,先保存到日志里,如果要對資料進行更改, 那么先寫入一條日志, 然后定時的對日志進行完整的備份. 也就是完整+臨時. 比如: 我先備份一個大版本, 備份以后, 還會有1個子版本, 兩個子版本....., 然后將這些版本再次進行一個完整備份,把它變成一個大版本. 這樣做的好處, 我們不能始終進行完整備份, 因為消耗的資料量太大. 為什么還要在一定時間內進行完整的備份呢?防止增量備份太多, 還原的時候太費事. 并且, Raft還會實時的把這些資料和日志存入到本地磁盤進行持久化.

  • Store: 把WAL中的日志和資料, 寫入磁盤進行持久化.

四、Node節點

從圖中可以看出, Node節點包含三個組件 ,kubelet, kube proxy, 以及container. 也就是說我們在node節點需要安裝三個軟體: kebelet, kebu proxy, docker

    img

1)kubelet的作用

master端收到多個任務,調度器會把任務發送給node節點,在node節點上,任務都是以容器化的方式運行的,容器是被誰初始化的?容器的運行時,比如docker,docker會幫我們啟動容器,一邊是kuberates 的Api Server, 另一邊是docker,他倆能夠對話么?不能,舉個例子: 一個是外國人,只會說英語,一個是中國人,只會說漢語,那如何讓外國人和中國人交流呢?翻譯唄,kubelet的作用就是連接k8s和docker的,kubelet監聽api server,api server下發命令以后,kubelet要去呼叫docker,去執行指令,比如容器的創建,

kubelet的直接跟容器互動, 實作容器的生命周期管理.他會和CRI, C是容器, R是runtime, I是interface. CRI就是docker的操作形式. kubelet會和docker互動, 創建需要的容器. kubelet會維持Pod的生命周期.

也就是說,kubelet起到承上啟下的作用,

2)kube proxy的作用:

下面呼叫linux的內核介面,叫做net link介面,當監聽到api server發送的請求以后

kube proxy 上面監聽api server,api server發出請求以后,會呼叫linux的內核介面,叫做net link介面,這個介面允許我們通過命令的方式,庫呼叫的方式去實作IPVS的創建,實作netfire的管控,就是IPVS和防火墻的管控,負載均衡和資料的轉發都是基于kube proxy組件實作的,

負責寫入規則至IPTABLES, IPVS實作服務映射訪問. 之前說過svc, 可以進行負載操作, 負責的操作就是通過kube proxy完成的. 怎么實作Pod與Pod之間的訪問, 以及負載均衡. 默認操作是操作防火墻, 去實作Pod的映射. 新版本還支持IPVS.

由此可見,kubelet和kube proxy這兩個功能各有各的用途,

3、其他重要的插件

1)Web UI

Web UI是一套可操作的界面,Dashboard是 Kubernetes 集群的通用的、基于 Web 的用戶界面, 它使用戶可以管理集群中運行的應用程式以及集群本身并進行故障排除,

2) COREDNS

可以為集群中的SVC創建一個域名IP對應的關系決議. 也就是說,我們在集群中訪問其他Pod的時候, 完全不需要通過Pod的ip地址, 通過CoreDns給他生成的域名去實作訪問. 他是集群中的重要重要組件, 也是實作負載均衡的其中一項功能.

3)DASHBOARD

給K8S集群提供一個 B/S結構訪問體系.

4)Ingress Controller

官方只為我們實作了四層代理. Ingress可以實作七層代理, 也就是可以根據組件名和域名進行負載均衡.

5)Federation

提供一個可以跨集群中心多K8s統一集群管理功能.

6)Prometheus(普羅米修斯)

提供K8S集群的監控能力.

7)ELK

提供k8s集群日志統一接入平臺

二、K8S和docker的關系

為什么會說k8s和docker的關系呢?這還要源于k8s發布的一則訊息,在后續版本將不再增加墊片這個組件,導致很多人覺得docker不行了,很可能會被k8s遺棄,為什么這個墊片會有這么大的影響呢?這就要從CRI和O-CRI說起了,

image

先來看看容器是如何創建的?

kubelet監聽了server api,有任何的變化都會下發命令給docker,然后docker操作容器,那么,kubelet呼叫docker的時候,是使用命令還是呼叫介面呢?

肯定是直接呼叫介面,因為呼叫命令最終也是去執行介面,中間還轉一步,效率太低了,

但是,kubelet能直接呼叫docker介面么?

我們知道docker采用的是CRI容器運行時介面,

而k8s是google的產品,現在是CNCF云容器基金會的產品,這是一個開源鏡像,k8s會直接對接到CRI這樣一個私有協議么?我是公共使用的,所以肯定不會對接到私有協議介面,那么,我會對接到O-CRI介面,這時一個共有協議介面,問題來了,docker是CRI私有協議介面,k8s是O-CRI共有協議介面,對接不過去啊,所以,怎么辦?再加一層轉換,這層轉換的作用是承上啟下,上面承的是O-CRI,下面承的是CRI,這個轉換是在kubectl實作的,這一層被叫做墊片,承上啟下用的,

最開始,Docker的名氣要比k8s大的多得多,所以,k8s就承接了墊片的任務,而如今,k8s的名氣已經很大了,它不再需要依賴于docker,于是他要去掉墊片,并且發了公告,

那么docker是不是就完蛋了,k8s沒有墊片做轉換了,就不能呼叫docker介面了,docker也很機智,隨即發布訊息,他會增加墊片功能,這樣k8s依然可以呼叫docker容器,但是,我們要知道,docker就重了,k8s減負了,k8s可以兼容任何容器,現在市面上有好幾款容器,他不是飛docker不可的了,



轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/531493.html

標籤:其他

上一篇:使用 Kubeadm 部署 Kubernetes(K8S) 安裝 -- 持久化存盤(PV&PVC)

下一篇:華為云API中心:匯聚千行百業API資產,打造API全生命周期極致體驗

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 2023年最新微信小程式抓包教程

    01 開門見山 隔一個月發一篇文章,不過分。 首先回顧一下《微信系結手機號資料庫被脫庫事件》,我也是第一時間得知了這個訊息,然后跟蹤了整件事情的經過。下面是這起事件的相關截圖以及近日流出的一萬條資料樣本: 個人認為這件事也沒什么,還不如關注一下之前45億快遞資料查詢渠道疑似在近日復活的訊息。 訊息是 ......

    uj5u.com 2023-04-20 08:48:24 more
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:47:46 more
  • vulnhub_Earth

    前言 靶機地址->>>vulnhub_Earth 攻擊機ip:192.168.20.121 靶機ip:192.168.20.122 參考文章 https://www.cnblogs.com/Jing-X/archive/2022/04/03/16097695.html https://www.cnb ......

    uj5u.com 2023-04-20 07:46:20 more
  • 從4k到42k,軟體測驗工程師的漲薪史,給我看哭了

    清明節一過,盲猜大家已經無心上班,在數著日子準備過五一,但一想到銀行卡里的余額……瞬間心情就不美麗了。最近,2023年高校畢業生就業調查顯示,本科畢業月平均起薪為5825元。調查一出,便有很多同學表示自己又被平均了。看著這一資料,不免讓人想到前不久中國青年報的一項調查:近六成大學生認為畢業10年內會 ......

    uj5u.com 2023-04-20 07:44:00 more
  • 最新版本 Stable Diffusion 開源 AI 繪畫工具之中文自動提詞篇

    🎈 標簽生成器 由于輸入正向提示詞 prompt 和反向提示詞 negative prompt 都是使用英文,所以對學習母語的我們非常不友好 使用網址:https://tinygeeker.github.io/p/ai-prompt-generator 這個網址是為了讓大家在使用 AI 繪畫的時候 ......

    uj5u.com 2023-04-20 07:43:36 more
  • 漫談前端自動化測驗演進之路及測驗工具分析

    隨著前端技術的不斷發展和應用程式的日益復雜,前端自動化測驗也在不斷演進。隨著 Web 應用程式變得越來越復雜,自動化測驗的需求也越來越高。如今,自動化測驗已經成為 Web 應用程式開發程序中不可或缺的一部分,它們可以幫助開發人員更快地發現和修復錯誤,提高應用程式的性能和可靠性。 ......

    uj5u.com 2023-04-20 07:43:16 more
  • CANN開發實踐:4個DVPP記憶體問題的典型案例解讀

    摘要:由于DVPP媒體資料處理功能對存放輸入、輸出資料的記憶體有更高的要求(例如,記憶體首地址128位元組對齊),因此需呼叫專用的記憶體申請介面,那么本期就分享幾個關于DVPP記憶體問題的典型案例,并給出原因分析及解決方法。 本文分享自華為云社區《FAQ_DVPP記憶體問題案例》,作者:昇騰CANN。 DVPP ......

    uj5u.com 2023-04-20 07:43:03 more
  • msf學習

    msf學習 以kali自帶的msf為例 一、msf核心模塊與功能 msf模塊都放在/usr/share/metasploit-framework/modules目錄下 1、auxiliary 輔助模塊,輔助滲透(埠掃描、登錄密碼爆破、漏洞驗證等) 2、encoders 編碼器模塊,主要包含各種編碼 ......

    uj5u.com 2023-04-20 07:42:59 more
  • Halcon軟體安裝與界面簡介

    1. 下載Halcon17版本到到本地 2. 雙擊安裝包后 3. 步驟如下 1.2 Halcon軟體安裝 界面分為四大塊 1. Halcon的五個助手 1) 影像采集助手:與相機連接,設定相機引數,采集影像 2) 標定助手:九點標定或是其它的標定,生成標定檔案及內參外參,可以將像素單位轉換為長度單位 ......

    uj5u.com 2023-04-20 07:42:17 more
  • 在MacOS下使用Unity3D開發游戲

    第一次發博客,先發一下我的游戲開發環境吧。 去年2月份買了一臺MacBookPro2021 M1pro(以下簡稱mbp),這一年來一直在用mbp開發游戲。我大致分享一下我的開發工具以及使用體驗。 1、Unity 官網鏈接: https://unity.cn/releases 我一般使用的Apple ......

    uj5u.com 2023-04-20 07:40:19 more