TWI764694B - 容器化應用程式的管理系統與管理方法 - Google Patents

容器化應用程式的管理系統與管理方法

Info

Publication number
TWI764694B
TWI764694B TW110114838A TW110114838A TWI764694B TW I764694 B TWI764694 B TW I764694B TW 110114838 A TW110114838 A TW 110114838A TW 110114838 A TW110114838 A TW 110114838A TW I764694 B TWI764694 B TW I764694B
Authority
TW
Taiwan
Prior art keywords
pod
application
backup
volume
cluster
Prior art date
Application number
TW110114838A
Other languages
English (en)
Other versions
TW202215240A (zh
Inventor
許進興
Original Assignee
威聯通科技股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 威聯通科技股份有限公司 filed Critical 威聯通科技股份有限公司
Publication of TW202215240A publication Critical patent/TW202215240A/zh
Application granted granted Critical
Publication of TWI764694B publication Critical patent/TWI764694B/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45575Starting, stopping, suspending or resuming virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一種容器化應用程式的管理系統與管理方法,應用於網路上,系統包含:主節點、其上已預先設置第一變更追蹤程式莢之第一工作者節點以及其上已預先設置第二變更追蹤程式莢之第二工作者節點,其方法包含下列步驟:接收應用程式莢創建請求,當該應用程式莢創建請求之內容符合預設情況時,該主節點發出內容變異請求;接收該內容變異請求而異動該應用程式莢創建請求之內容來形成變異後應用程式莢創建請求,再由該主節點轉傳出去給該第一工作者節點或該第二工作者節點;以及使該第一工作者節點或該第二工作者節點根據該變異後應用程式莢創建請求而建立應用程式莢,該應用程式莢包含有啟始容器化程式以及容器化程式,該啟始容器化程式優先被執行而啟動該第一變更追蹤程式莢或該第二變更追蹤程式莢後,該容器化程式才會被執行,使該容器化程式執行時所產生的資料變更會被該第一變更追蹤程式莢或該第二變更追蹤程式莢記錄。

Description

容器化應用程式的管理系統與管理方法
本案係為一種容器化應用程式的管理系統與管理方法,尤指可應用於資訊網路上之一種容器化應用程式的管理系統與管理方法。
在資訊產品多樣化的今日,各家廠牌的電腦主機或智慧手機上的作業系統與硬體配置可能都不盡相同。所以為了能讓應用程式可以在不同的主機上執行,虛擬化技術(Virtualization)便被發展出來。而虛擬化技術就是創造出一個環境來讓應用程式以為自己是在同一個環境中執行,其目標是將一個應用程式所需的執行環境打包起來,建立一個獨立環境,方便在不同的硬體中移動。目前常見的虛擬化技術有兩種,第一種是在系統層上的虛擬化技術,通常被稱為虛擬機器(Virtual machine),第二種則是在作業系統層上的虛擬化技術,通常被稱為容器(Container)。
而上述之虛擬機器是以作業系統為中心,在系統層上進行虛擬化。而這些虛擬機器可以執行完整的作業系統,就是一個在實體作業系統(Host Operating System)上面再裝一個虛擬作業系統(Guest Operating System)的概念,然後讓虛擬機器利用軟體模擬出CPU和記憶體等功能,讓虛擬作業系統以為執行在實體的機器上,使得兩個作業系統彼此不會產生衝突。而透過選擇不同的虛擬作業系統,虛擬機器便利用軟體模擬出CPU和記憶體等功能,讓虛擬作業系統以為執行在實體的機器上,進而確保該應用程式在該虛擬作業系統上可以正常運作。因此,該應用程式即使放到不同的主機上執行,也可以不需要知道該主機的實體作業系統(Host Operating System)是什麼,只要在實體作業系統(Host Operating System) 上先裝上正確虛擬作業系統,那麼該應用程式便可以正常在該主機上正確運作。
但因虛擬機器技術需要事先安裝好虛擬作業系統,進而導致開機速度緩慢且有佔用較大記憶體的問題,所以另一種虛擬化技術(Virtualization)-容器化技術便被發展出來。容器化技術是以應用程式為中心,而在作業系統層級上進行虛擬化,透過容器管理者(Container Manager) 直接將一個應用程式所需的程式碼及函式庫打包,建立資源控管機制來隔離各個容器,並分配實體作業系統(Host Operating System)上的系統資源。透過容器的設置,應用程式將不需要再另外安裝虛擬作業系統也可以在不同平台上成功執行。而且因為不需要另外安裝作業系統,建立容器所需要的硬碟容量可以大幅降低,且啟動速度可以更快,不需要等待過長的開機時間。
另外,為了能大規模的部署以及有效管理上述的容器化應用程式(containerized applications),類似Kubernetes(以下簡稱K8S) 的軟體系統被開發出來,是一個用來幫助使用者管理微服務(microservices)的系統。它可以同時部署(Deployment)多個容器到多台機器上,當服務的承載量有變化時,可以對容器做自動擴展(Scaling),還可以管理多個容器的狀態以及提供災難恢復(Disaster recovery)。例如,如果提供某個服務的容器不小心崩潰(crash) 了,K8S 會偵測到並重啟這個容器,確保持續提供服務。
而代表備份頻率的恢復點目標(Recovery Point Objective,簡稱RPO)是計劃災難恢復時需要考慮的因素之一,因為備份頻率越長,所可能損失的資料量越高。舉例來說,系統每天固定在下班後晚上8點進行系統備份,結果很不幸的有一天下午4點,因為雷擊損壞電力系統而導致設備毀損,這中間的資料尚未備份,你最多只能回復到前一天晚上8點前的資料。
而為了縮短備份頻率以滿足恢復點目標但不過度影響系統運作,增量備份的概念便被引入。其主要是針對上次時間點備份(previous point-in-time backup)內容來進行下一次的備份。而變更追踪機制(Change tracking mechanisms)用於追踪自上次時間點備份(previous point-in-time backup)以來已更改的數據。而在K8S系統中,主要是通過與存儲供應者的容器存儲接口(Container Storage Interface ,CSI)的驅動程式或其他插件(plugins)間的互動,來將各種持久性儲存資源(persistent storage resources)供應給K8S叢集(clusters)中的應用程式莢(pod),而應用程式莢(pod)則是K8S系統中運作的最小單位。
但是,並非這些儲存供應者(storage provisioners)都有施行變更追踪機制,導致有些持久性儲存資源(persistent storage resources)的變更可能未被完整地追蹤到。因此,為了改善上述習用手段的缺失,可以成功地在K8S系統中實現變更追踪機制,用以對所有類型的持久性存儲執行增量備份,便是發展本案的主要目的之一。
而如何在不影響系統讀寫效率以及完整地追蹤到資料變更的情況下,改善上述的資料遺失問題,係為發展本案之一主要目的。
本案係為一種容器化應用程式的管理系統,應用於一網路上,其包含:一主節點,信號連接至該網路,其上運行一應用程式介面伺服器,其係用以接收一應用程式莢創建請求,當該應用程式莢創建請求之一內容符合一預設情況時發出一內容變異請求;一第一工作者節點,信號連接至該網路,其上已預先設置一第一變更追蹤程式莢; 一第二工作者節點,信號連接至該網路,其上已預先設置一第二變更追蹤程式莢;以及至少一內容變異伺服器,安裝於該主節點或該第一工作者節點中,用以接收該內容變異請求而異動該應用程式莢創建請求之內容來形成一變異後應用程式莢創建請求,該變異後應用程式莢創建請求再由該主節點轉傳出去給該第一工作者節點或該第二工作者節點,該第一工作者節點或該第二工作者節點根據該變異後應用程式莢創建請求而建立一應用程式莢,該應用程式莢包含有一啟始容器化程式以及至少一容器化程式,該啟始容器化程式優先被執行而啟動該第一變更追蹤程式莢或該第二變更追蹤程式莢後,該容器化程式才會被執行,使該容器化程式執行時所產生的資料變更會被該第一變更追蹤程式莢或該第二變更追蹤程式莢記錄。
根據上述構想,本案所述之容器化應用程式的管理系統,其中該內容變異伺服器係選用一網鉤伺服器,用以修改該應用程式莢創建請求而形成該變異後應用程式莢創建請求,修改內容包含在該應用程式莢創建請求之內容中附加一啟始容器創建請求,用以建立該啟始容器化程式。
根據上述構想,本案所述之容器化應用程式的管理系統,其中該內容符合該預設情況係為該應用程式莢創建請求的內容與預先配置的一網鉤組態相符。
根據上述構想,本案所述之容器化應用程式的管理系統,其中該啟始容器化程式優先被執行而發出一變更追蹤的請求至該第一變更追蹤程式莢或該第二變更追蹤程式莢,進而啟動該第一工作者節點中之該第一變更追蹤程式莢或該第二工作者節點中之該第二變更追蹤程式莢中的一變更追蹤工作程序。
根據上述構想,本案所述之容器化應用程式的管理系統,其中該啟始容器化程式所發出之該變更追蹤的請求係為一遠端程序呼叫,用來啟動該第一變更追蹤程式莢或該第二變更追蹤程式莢中的該變更追蹤工作程序。
根據上述構想,本案所述之容器化應用程式的管理系統,其中當該應用程式莢已被刪除,該第一變更追蹤程式莢或該第二變更追蹤程式莢將因應該應用程式莢之被刪除而停止進行變更追蹤。
根據上述構想,本案所述之容器化應用程式的管理系統,其中該主節點、該第一工作者節點與該第二工作者節點被包含於一第一叢集,該第一叢集中更包含一代理者應用程式莢,而該管理系統更包含一第二叢集,該第二叢集中更包含一備份控制器應用程式莢,當第二叢集的備份控制器應用程式莢接收一備份請求時,該備份控制器應用程式莢先與該代理者應用程式莢進行通訊以產生一快照請求,該快照請求將由對應於該應用程式莢之該變更追蹤程式莢來處理,該變更追蹤程式莢因應該快照請求而創建一快照內容並停止先前的變更追踪,啟動新的變更追踪並相應地將新的變更追踪保存到一叢集儲存中一卷的新位置,該備份控制器應用程式莢從該代理者應用程式莢中取回目前卷快照內容的訊息以及先前更改日誌的位置,再讓該備份控制器應用程式莢根據從該代理者應用程式莢取回的訊息,創建另一個應用程式莢創建請求,而該請求將會把該卷快照內容和該儲存叢集中的該卷掛載到此正要創建的一備份應用程式莢上,該第二叢集將該卷快照內容和該儲存叢集中的該卷配置到該備份應用程式莢並開始運行該備份應用程式莢。
根據上述構想,本案所述之容器化應用程式的管理系統,其中若存在有先前的更改日誌,則該備份應用程式莢從指示的卷位置來讀取持久卷的更改日誌,並將對應的卷快照內容的更改的區塊/文件寫入一備份目標;否則,該備份應用程式莢將對卷快照內容進行完整備份。
根據上述構想,本案所述之容器化應用程式的管理系統,其中該主節點、該第一工作者節點與該第二工作者節點被包含於一叢集中,該叢集中更包含一備份控制器應用程式莢,該備份控制器應用程式莢接收一備份請求時,該備份控制器應用程式莢先與該主節點進行通訊以產生一快照請求,該快照請求將由對應於該應用程式莢之該變更追蹤程式莢來處理,該變更追蹤程式莢因應該快照請求而創建一快照內容並停止先前的變更追踪,啟動新的變更追踪並相應地將新的變更追踪保存到一叢集儲存中一卷的新位置,該備份控制器應用程式莢從該主節點中取回目前卷快照內容的訊息以及先前更改日誌的位置,再讓該備份控制器應用程式莢根據從該主節點取回的訊息,創建另一個應用程式莢創建請求,而該請求將會把該卷快照內容和該儲存叢集中的該卷掛載到此正要創建的一備份應用程式莢上,該叢集將該卷快照內容和該儲存叢集中的該卷配置到該備份應用程式莢並開始運行該備份應用程式莢。
根據上述構想,本案所述之容器化應用程式的管理系統,其中若存在有先前的更改日誌,則該備份應用程式莢從指示的卷位置來讀取持久卷的更改日誌,並將對應的卷快照內容的更改的區塊/文件寫入一備份目標;否則,該備份應用程式莢將對卷快照內容進行完整備份。
本案之另一方面係為一種容器化應用程式的管理方法,應用於一網路、一主節點、其上已預先設置一第一變更追蹤程式莢之一第一工作者節點以及其上已預先設置一第二變更追蹤程式莢之一第二工作者節點之間,其包含下列步驟:接收一應用程式莢創建請求,當該應用程式莢創建請求之一內容符合一預設情況時,該主節點發出一內容變異(Mutate)請求;接收該內容變異請求而異動該應用程式莢創建請求之內容來形成一變異後應用程式莢創建請求,再由該主節點轉傳出去給該第一工作者節點或該第二工作者節點;以及使該第一工作者節點或該第二工作者節點根據該變異後應用程式莢創建請求而建立一應用程式莢,該應用程式莢包含有一啟始容器化程式以及至少一容器化程式,該啟始容器化程式優先被執行而啟動該第一變更追蹤程式莢或該第二變更追蹤程式莢後,該容器化程式才會被執行,使該容器化程式執行時所產生的資料變更會被該第一變更追蹤程式莢或該第二變更追蹤程式莢記錄。
根據上述構想,本案所述之容器化應用程式的管理方法,其中該內容符合該預設情況係為該應用程式莢創建請求的內容與預先配置的一網鉤組態相符。
根據上述構想,本案所述之容器化應用程式的管理方法,其中該啟始容器化程式優先被執行而發出一變更追蹤(change tracking)的請求至該第一變更追蹤程式莢或該第二變更追蹤程式莢,用以啟動該第一變更追蹤程式莢或該第二變更追蹤程式莢中的一變更追蹤工作程序。
根據上述構想,本案所述之容器化應用程式的管理方法, 其中該主節點、該第一工作者節點與該第二工作者節點被包含於一第一叢集,該第一叢集中更包含一代理者應用程式莢,更包含一第二叢集獨立於該第一叢集,該第二叢集中更包含一備份控制器應用程式莢,當該備份控制器應用程式莢接收一備份請求時,該備份控制器應用程式莢先與該代理者應用程式莢進行通訊以產生一快照請求,該快照請求將由對應於該應用程式莢之該變更追蹤程式莢來處理,該變更追蹤程式莢因應該快照請求而創建一快照內容並停止先前的變更追踪,啟動新的變更追踪並相應地將新的變更追踪保存到一叢集儲存中一卷的新位置,該備份控制器應用程式莢從該代理者應用程式莢中取回目前卷快照內容的訊息以及先前更改日誌的位置,再讓該備份控制器應用程式莢根據從該代理者應用程式莢取回的訊息,創建另一個應用程式莢創建請求,而該請求將會把該卷快照內容和該儲存叢集中的該卷掛載到此正要創建的一備份應用程式莢上,該第二叢集將該卷快照內容和該儲存叢集中的該卷配置到該備份應用程式莢並開始運行該備份應用程式莢,其中,若存在有先前的更改日誌,則該備份應用程式莢從指示的卷位置來讀取持久卷的更改日誌,並將對應的卷快照內容的更改的區塊/文件寫入一備份目標;否則,該備份應用程式莢將對卷快照內容進行完整備份。
根據上述構想,本案所述之容器化應用程式的管理方法,其中該主節點、該第一工作者節點與該第二工作者節點被包含於一叢集中,該叢集中更包含一備份控制器應用程式莢,當該叢集的該備份控制器應用程式莢接收一備份請求時該備份控制器應用程式莢先與該主節點進行通訊以產生一快照請求,該快照請求將由對應於該應用程式莢之該變更追蹤程式莢來處理,該變更追蹤程式莢因應該快照請求而創建一快照內容並停止先前的變更追踪,啟動新的變更追踪並相應地將新的變更追踪保存到一叢集儲存中一卷的新位置,該備份控制器應用程式莢從該主節點中取回目前卷快照內容的訊息以及先前更改日誌的位置,再讓該備份控制器應用程式莢根據從該主節點取回的訊息,創建另一個應用程式莢創建請求,而該請求將會把該卷快照內容和該儲存叢集中的該卷掛載到此正要創建的一備份應用程式莢上,該叢集將該卷快照內容和該儲存叢集中的該卷配置到該備份應用程式莢並開始運行該備份應用程式莢,其中,若存在有先前的更改日誌,則該備份應用程式莢從指示的卷位置來讀取持久卷的更改日誌,並將對應的卷快照內容的更改的區塊/文件寫入一備份目標;否則,該備份應用程式莢將對卷快照內容進行完整備份。
如此一來,習用手段中所發生關於資料遺失而無法被找回的問題將可被解決,並可保有系統的讀寫效率,進而完成發展本案之主要目的。
體現本案特徵與優點的一些典型實施例將在後段的說明中詳細敘述。應理解的是本案能夠在不同的樣態上具有各種的變化,其皆不脫離本案的範圍,且其中的說明及圖式在本質上係當作說明之用,而非用以限制本案。
請參見圖1,其係本案為改善習用手段之缺失所發展出來,可執行一新穎的容器化(containerized)應用程式的管理系統的較佳實施例功能方塊示意圖,其可應用於一網路(例如網際網路或區域網路,本圖未示出)上,其中是使用全部都信號連接至該網路的四個節點(node)所構成的K8S叢集(K8S clusters)1為例進行說明,但節點數量實際不在此限。圖中的四個節點(node) 可以分別由一主節點(Master Node)10以及三個工作者節點(Worker Node)11、12、13來完成,當然,上述架構只是為了說明方便所設立,若是將其中三個工作節點11、12、13合併為一個工作節點,甚或與將主節點與工作節點合併為單一節點亦可以實施而不需限制。其中主節點(Master Node)10上運行有一應用程式介面伺服器(K8S API Server)101以及一ETCD資料庫(ETCD database)102,該K8S應用程式介面伺服器101係可用以接收一應用程式莢(App Pod)創建請求。而該ETCD資料庫102是一種高可用性(High Availability)的資料庫,它會把資料複製多份到K8S叢集1的各個節點內,因此它可以用來存放整個K8S叢集1的資料。如此一來,若是主節點(Master Node)10因為某些原因而故障時,系統便可以透過ETCD資料庫來還原 K8S叢集1的狀態。
另外,本實施例在第一工作者節點11、第二工作者節點12與第三工作者節點13中分別預設有一第一變更追蹤程式莢110、一第二變更追蹤程式莢120以及一第三變更追蹤程式莢130。而上述的三個變更追蹤程式莢的內容可以是一模一樣的,只是在每個工作者節點上都執行一個。就像是相同程式碼的程式,但執行在不同的多台電腦上。再者,在本實施例中,是以在第一工作者節點11中設有一網鉤程式莢(Webhook Pod)111為例來進行說明,而該網鉤程式莢(Webhook Pod)111所建立之一網鉤伺服器(Webhook server)1110的功能,其細節於後續說明中再描述。當然,也是可以將網鉤程式莢(Webhook Pod)111改設於第二工作者節點12、第三工作者節點13或是主節點(Master Node)10中,都可以發揮相同的功能,或是在每個工作者節點中都部署有網鉤伺服器(Webhook server) ,以全部都啟用(all active) 的方式或全部都啟用待命(all active-standy)的方式來達到高可用性(High Availability),故不再贅述。
本實施例還設有儲存叢集X(Storage Cluster X)以及儲存叢集Y(Storage Cluster Y)。儲存叢集X和儲存叢集Y皆可以一樣由Ceph叢集(Ceph clusters)完成佈署。如果部署了輔助設備群(secondary group of appliances)來執行備份動作和保存備份資料,則可以從輔助群(secondary group)的儲存筒倉(storage silos)來建構出儲存叢集Y。至於儲存叢集X中則包含有單元X1、單元X2與單元X3,其中單元X1和單元X2是Ceph提供的區塊裝置(Block Device),又稱RADOS  block device ,簡稱RBD,至於圖1所示之RBD0方塊與RBD1方塊則是在工作者節點的作業系統內所看到的區塊裝置(Block Device),其用以來與第二變更追蹤程式莢120完成信號連接,而單元X3則是一個Ceph檔案系統卷(Cephfs volume) ,至於圖1所示之fs0方塊則是工作者節點的作業系統內所看到的一個檔案系統(File System),用以對應至該單元X3並用以來與第二變更追蹤程式莢120完成信號連接。儲存叢集Y中則還可以設置有一卷(volume)B,卷(volume)B也可以是一個Ceph檔案系統卷(Cephfs volume),它可以被安裝到所有的變更追蹤程式莢(例如本例中之第一變更追蹤程式莢110、第二變更追蹤程式莢120以及第三變更追蹤程式莢130)。每個變更追蹤程式莢從不同時間點開始的變更日誌(Change logs)可以被組織化地記錄在卷(volume)B的目錄中,其中每個持久卷(Persistent Volumes,圖1中被簡稱為PV)的日誌都被保存在卷(volume)B的不同子目錄中(目錄儲存路線如圖中所示的三條線段虛線)。
再請參見圖2,其係可運作於本案容器化(containerized)應用程式的管理系統的較佳實施例方法步驟示意圖。配合圖1之內容一起閱讀後可以清楚看出,圖1中代表步驟1的箭頭係代表有一應用程式莢創建請求被發送至主節點10,而當主節點10中之該應用程式介面伺服器101接收到該應用程式莢創建請求,且該應用程式莢創建請求之一內容符合一預設情況時(例如創建請求的內容與預先配置的變異網鉤組態(Mutation webhook configuration) 相符),K8S系統的主節點10中之應用程式介面伺服器101便發出一內容變異(Mutate)請求。如圖2中K8S系統21與以網鉤伺服器(Webhook server)22所完成之內容變異伺服器之所示,步驟2為K8S系統21向網鉤伺服器22發出該內容變異(Mutate)請求,而該網鉤伺服器22接收該內容變異請求後對該應用程式莢(Pod)創建請求之內容進行異動,主要是在該應用程式莢創建請求之內容中附加一啟始容器(init container)創建請求,用以形成一變異後應用程式莢(Pod)創建請求,然後再將該變異後應用程式莢(Pod)創建請求再傳回代表K8S系統21的主節點10。
至於步驟3則是由主節點10接收該變異後應用程式莢創建請求並將其儲存至該ETCD102中。步驟4則是主節點10對某一工作者節點發出該變異後應用程式莢創建請求,用以於某一工作者節點上建立包含有一啟始容器化程式(init container)1210之應用程式莢(Pod)121,而且將會最優先啟動該啟始容器化程式1210。可再請參見回圖1所示之例子,在本實施例中,是以在第二工作者節點12中建立應用程式莢121為例來進行說明。而該應用程式莢121包含有該啟始容器化程式(init container)1210以及至少一容器化程式(container)1211,該啟始容器化程式1210優先被執行而執行步驟5,用以發出變更追蹤(change tracking)的請求,進而啟動第二工作者節點12中之該第二變更追蹤程式莢中的變更追蹤工作程序。舉例來說,該啟始容器化程式1210可以發出遠端程序呼叫(Remote Procedure Call,簡稱RPC)來啟動本地的變更追蹤程式莢(圖1之例子是第二變更追蹤程式莢120)23,並把該應用程式莢121的名稱(name)和名稱空間(namespace)作為遠端程序呼叫(RPC)的參數(parameters)來進行傳送。
至於步驟6則是去ETCD102中獲取資料儲存資源(例如程式莢的持久卷(Persistent Volumes,以下簡稱PV)),如圖1中之線段虛線之所示,用以找出相對應於作業系統內的區塊裝置或是檔案系統,繼而啟動變更追蹤的日誌(log)。至於日誌(log)的存放位置會依據備份請求而改寫到新的目錄。而舊目錄內的日誌就會用來進行查詢,以作為增量備份的依據。然後在成功得到資源分配後再接著執行該應用程式莢121的其他部份 (例如該容器化程式1211以及其它未示出的容器化程式)。如此一來,該應用程式莢121執行時所產生的資料變更將可以被該第二變更追蹤程式莢120不遺漏地記錄到被成功分配到的資料儲存資源(例如上述PV)中。
步驟7則是當K8S系統21向第二變更追蹤程式莢120發出信號,表明該應用程式莢121已被刪除,此時第二變更追蹤程式莢120將因應該應用程式莢121之被刪除而停止進行變更追蹤。而應用程式莢121可能由於所在節點故障或其他原因而計劃在另一個節點中運行,而其變更追蹤的工作將由另一個節點中已預先設置且被啟動的變更追蹤程式莢來負責。由於節點故障或其他原因,可以將應用程式莢121調度為在另一個節點中運行,並由已經在該節點中運行的變更追蹤程式莢(CBT  Pod)跟踪更改。
至於上述變更追蹤程式莢的變更追蹤方法,可以採用Linux已內建的內核追踪點(Linux kernel tracepoint)和區塊追蹤(blktrace)等方法,而用以完成區塊追蹤方法的區塊追蹤模組1200可以內建在變更追蹤程式莢(例如圖1中的第二變更追蹤程式莢120)中,用以探索Linux內核追踪點的基礎結構,以追踪通過Linux內核區塊輸出入堆疊(I/O stack)進行的請求。本案可以實現自己的區塊追踪點驅動程式,以便將區塊裝置(block devices)的每次的變更給記錄下來而不會丟失任何記錄。而且,幾乎所有Linux發行版中都啟用了區塊設備追踪點(Block device tracepoints),因此我們可以對常用的Linux發行版中部署的K8S系統進行變更區塊追蹤 (change block tracking)。
再請參見圖3,其係本案為改善習用手段之缺失所發展出來,可執行新穎的容器化(containerized)應用程式的管理系統的另一較佳實施例功能方塊示意圖,其係為將本案方法應用至一輔助叢集(secondary cluster)上的實施例。在本例中,輔助叢集(secondary cluster)可以是一種輔助超融合式基礎架構 (Hyper-Converged Infrastructure,以下簡稱HCI) 叢集,但其實可以不限於此。而在本圖例中,輔助HCI叢集Y包含有K8S叢集Y與儲存叢集Y(storage cluster Y),輔助HCI叢集Y則用於備份K8S叢集Z中各個應用程式莢(Pod)所產生的資料,而吾人可以將本例中之K8S叢集Z視為圖1所示之K8S叢集(clusters)1 。
對應該K8S叢集Y之儲存叢集Y(storage cluster Y)的Ceph檔案系統(Ceph file systems)由分別部署在K8S叢集Y和K8S叢集Z中的容器儲存介面(container storage interface,簡稱CSI)驅動程式所提供。至於應用程式莢C的儲存器(storage)則是從儲存叢集X(storage cluster X)來調派的。圖中的Xn’(例如X1'、X2'、X3')代表是Xn(例如X1 、X2 、X3)的快照(snapshot)。至於卷F也由ceph 儲存叢集X(ceph storage cluster X)來提供。
而設置於輔助叢集(K8S叢集Y)中之備份控制器應用程式莢 (backup controller pod)D,可以透過代理者應用程式莢 (agent pod)G從K8S叢集Z取出(retrieve)快照Xn'的”VolumeSnapshotContent”的資源(resource)和”VolumeSnapshotClass”的規格(specification),並執行以下操作來將Xn'供應給備份應用程式莢(backup pod)E。第一,根據從K8S叢集Z獲得的卷快照類規格(volume snapshot class specifications)在K8S叢集Y中創建卷快照類(volume snapshot class)。第二,根據從K8S叢集Z所得到的”VolumeSnapshotContent”資訊來創建”VolumeSnapshotContent”資源,並為每個”VolumeSnapshotContent”創建一個”VolumeSnapshot”。第三、為每個Xn'快照創建PV聲明(persistent volume claim),並在創建PV聲明的規格中指定相對應的卷快照名稱(volume snapshot name)和卷快照類名稱(volume snapshot class name)。 另外,將更改日誌(change logs)保存到儲存叢集Y(storage cluster Y)可以減少對儲存叢集X (storage cluster X)的性能影響,因為已部署儲存叢集X為K8S叢集Z中的應用程式(applications)提供服務。
請再參考圖3中所示之箭頭31、32、33、34與35,其係代表本實施例進行之備份方法的多個步驟,詳細說明如下:首先,箭頭31所示之步驟31,係為針對如何處理一備份請求(backup request)來進行說明,主要是由同樣運行有一K8S應用程式介面伺服器 (K8S API server)300之叢集Y中的備份控制器應用程式莢 (backup controller pod)D來接收以及處理,該備份請求則可由叢集外的使用者或是應用程式來發出。而箭頭32所示之步驟32,則是備份控制器應用程式莢 (backup controller pod)D先與K8S叢集Z中的代理者應用程式莢 (agent pod)G進行通訊以產生一快照請求(snapshot request)。而該快照請求將由對應於該應用程式莢C之本地的變更追蹤程式莢(CBT  Pod)390來處理。在響應該快照請求時,變更追蹤程式莢(CBT  Pod)390將創建一快照(snapshot),並停止先前的變更追踪(previous change tracking),啟動新的變更追踪並相應地將新的變更追踪保存到卷B(volume B)的一新位置。而且,備份控制器應用程式莢 (backup controller pod)D從代理者應用程式莢 (agent pod)G中取回(retrieve)當前卷快照內容(current volume snapshot contents)的信息以及以前的更改日誌(previous change logs)的位置。至於箭頭33所示之步驟33,則是讓備份控制器應用程式莢 (backup controller pod)D根據從代理者應用程式莢 (agent pod)G中取回(retrieve)的信息,創建另一個應用程式莢創建請求,而該請求將會把卷快照內容和儲存叢集Y(Storage Cluster Y)中的卷B(volume B)掛載到此正要創建的備份應用程式莢E上。至於箭頭34所示之步驟34,則是K8S叢集Y將卷快照內容和儲存叢集Y(Storage Cluster Y)中的卷B配置到備份應用程式莢E並開始運行該備份應用程式莢E,其中備份應用程式莢E中所備份的內容屬於應用程式莢C中應用程式運行後所產生的內容。而箭頭35所示之步驟35則是根據更改日誌進行來判斷,如果存在有先前的更改日誌,則備份應用程式莢(backup pod)E從指示的卷B位置來讀取PV的更改日誌,並將對應的卷快照內容的更改的區塊/檔案(blocks/files)寫入備份目標(backup target);否則,備份應用程式莢E將對於卷快照內容進行完整備份,也就是說,如果以前的更改日誌根本不存在,則備份應用程式莢E會將卷快照內容完全備份到另一個存儲卷F。如此一來,第一個快照內容的備份內容將始終是完整的備份,後續的快照的備份將是增量(incremental)快照。
再請參見圖4,其係本案為改善習用手段之缺失所發展出來,可執行新穎的容器化(containerized)應用程式的管理系統的再一較佳實施例功能方塊示意圖,其與圖3相似,都是要用來處理備份請求(backup request),而較明顯不同處則是備份控制器應用程式莢 (backup controller pod)D與應用程式莢(Pod) C是運行在同一個K8S叢集4中。其中所示之箭頭41、42、43、44與45,其係代表本實施例進行之備份方法的多個步驟,詳細說明如下:
首先,箭頭41所示之步驟41,係為由由叢集外部所發出的一備份請求(backup request),該備份請求(backup request)主要是由運行在同一叢集中的備份控制器應用程式莢 (backup controller pod)D來接收以及處理。而箭頭42所示之步驟42,則是備份控制器應用程式莢 (backup controller pod)D直接與K8S應用程式介面伺服器101進行通訊來產生快照請求(snapshot request)。而該快照請求將由對應於該應用程式莢(Pod) C本地的變更追蹤程式莢(CBT  Pod)390來處理。在響應該快照請求時,變更追蹤程式莢(CBT  Pod)390將創建一快照(snapshot),停止先前的變更追踪(previous change tracking),啟動新的變更追踪(change tracking)並相應地將新的變更追踪(change tracking)保存到卷B(volume B)的新位置。而且,備份控制器(backup controller)D從K8S應用程式介面伺服器101中取回(retrieve)當前卷快照內容(current volume snapshot contents)的信息以及以前的更改日誌(previous change logs)的位置。至於箭頭43所示之步驟43,則是讓備份控制器(backup controller)D根據從K8S應用程式介面伺服器101中取回(retrieve)的信息,創建另一個備份應用程式莢創建請求,而該請求將會把卷快照內容和儲存叢集Y(Storage Cluster Y)中的卷B(volume B)掛載到此正要創建的備份應用程式莢E上。
至於箭頭44所示之步驟44,則是K8S叢集4將卷快照內容和儲存叢集Y(Storage Cluster Y)中的卷B配置到備份應用程式莢E並開始運行該備份應用程式莢E。而箭頭45所示之步驟45則是根據更改日誌進行來判斷,如果存在有先前的更改日誌,則備份應用程式莢(backup pod)E從指示的卷B位置來讀取PV的更改日誌,並將對應的卷快照內容的更改的區塊/檔案(blocks/files)寫入備份目標(backup target);否則,備份應用程式莢E將對卷快照內容進行完整備份,也就是說,如果以前的更改日誌根本不存在,則備份應用程式莢E會將卷快照內容完全備份到另一個存儲卷F。如此一來,第一個快照內容的備份將始終是完整的備份,後續的快照的備份將是增量快照。另外,更改日誌和備份當然也可以保存在儲存叢集X以外的不同儲存叢集中。
綜上所述,本發明可以讓成功地在K8S系統中實現變更追踪機制,用以對所有類型的持久性存儲執行增量備份,進而改善上述的資料遺失問題,達成發展本案之主要目的。然而,本案得由熟知此技術之人士任施匠思而為諸般修飾,然皆不脫如附申請專利範圍所欲保護者。
1:K8S叢集 10:主節點 101:應用程式介面伺服器 102:ETCD資料庫 11:第一工作者節點 110:第一變更追蹤程式莢 12:第二工作者節點 120:第二變更追蹤程式莢 121:啟始容器化程式 1200:區塊追蹤模組 1210:應用程式莢 1211:容器化程式 13:第三工作者節點 130:第三變更追蹤程式莢 111:網鉤程式莢 1110:網鉤伺服器 儲存叢集X 儲存叢集Y X1:單元 X2:單元 X3:單元 RBD0:方塊: RBD1:方塊 fs0:檔案系統 B:卷 PV:持久卷 21:K8S系統 22:網鉤伺服器 23:變更追蹤程式莢 K8S叢集Y 儲存叢集Y K8S叢集Z X1'、X2'、X3':快照 F:卷 D:備份控制器應用程式莢 G:代理者應用程式莢 E:備份應用程式莢K8S 300:K8S應用程式介面伺服器 390:變更追蹤程式莢 C:應用程式莢 4:K8S叢集
圖1,其係本案為改善習用手段之缺失所發展出來,可執行一新穎的容器化(containerized)應用程式的管理系統的較佳實施例功能方塊示意圖。
圖2,其係可運作於本案容器化(containerized)應用程式的管理系統的較佳實施例方法步驟示意圖。
圖3,其係本案為改善習用手段之缺失所發展出來,可執行新穎的容器化(containerized)應用程式的管理系統的另一較佳實施例功能方塊示意圖。
圖4,其係本案為改善習用手段之缺失所發展出來,可執行新穎的容器化(containerized)應用程式的管理系統的再一較佳實施例功能方塊示意圖。
21:K8S系統 22:網鉤伺服器 23:變更追蹤程式莢 121:應用程式莢 1210:啟始容器化程式 1211:容器化程式

Claims (15)

  1. 一種容器化應用程式的管理系統,應用於一網路上,其包含: 一主節點,信號連接至該網路,其上運行一應用程式介面伺服器,其係用以接收一應用程式莢創建請求,當該應用程式莢創建請求之一內容符合一預設情況時發出一內容變異請求; 一第一工作者節點,信號連接至該網路,其上已預先設置一第一變更追蹤程式莢; 一第二工作者節點,信號連接至該網路,其上已預先設置一第二變更追蹤程式莢;以及 至少一內容變異伺服器,安裝於該主節點或該第一工作者節點中,用以接收該內容變異請求而異動該應用程式莢創建請求之內容來形成一變異後應用程式莢創建請求,該變異後應用程式莢創建請求再由該主節點轉傳出去給該第一工作者節點或該第二工作者節點,該第一工作者節點或該第二工作者節點根據該變異後應用程式莢創建請求而建立一應用程式莢,該應用程式莢包含有一啟始容器化程式以及至少一容器化程式,該啟始容器化程式優先被執行而啟動該第一變更追蹤程式莢或該第二變更追蹤程式莢後,該容器化程式才會被執行,使該容器化程式執行時所產生的資料變更會被該第一變更追蹤程式莢或該第二變更追蹤程式莢記錄。
  2. 如請求項1所述之容器化應用程式的管理系統,其中該內容變異伺服器係選用一網鉤伺服器,用以修改該應用程式莢創建請求而形成該變異後應用程式莢創建請求,修改內容包含在該應用程式莢創建請求之內容中附加一啟始容器創建請求,用以建立該啟始容器化程式。
  3. 如請求項1所述之容器化應用程式的管理系統,其中該內容符合該預設情況係為該應用程式莢創建請求的內容與預先配置的一網鉤組態相符。
  4. 如請求項1所述之容器化應用程式的管理系統,其中該啟始容器化程式優先被執行而發出一變更追蹤的請求至該第一變更追蹤程式莢或該第二變更追蹤程式莢,進而啟動該第一工作者節點中之該第一變更追蹤程式莢或該第二工作者節點中之該第二變更追蹤程式莢中的一變更追蹤工作程序。
  5. 如請求項4所述之容器化應用程式的管理系統,其中該啟始容器化程式所發出之該變更追蹤的請求係為一遠端程序呼叫,用來啟動該第一變更追蹤程式莢或該第二變更追蹤程式莢中的該變更追蹤工作程序。
  6. 如請求項1所述之容器化應用程式的管理系統,其中當該應用程式莢已被刪除,該第一變更追蹤程式莢或該第二變更追蹤程式莢將因應該應用程式莢之被刪除而停止進行變更追蹤。
  7. 如請求項1所述之容器化應用程式的管理系統,其中該主節點、該第一工作者節點與該第二工作者節點被包含於一第一叢集,該第一叢集中更包含一代理者應用程式莢,而該管理系統更包含一第二叢集,該第二叢集中更包含一備份控制器應用程式莢,當第二叢集的備份控制器應用程式莢接收一備份請求時,該備份控制器應用程式莢先與該代理者應用程式莢進行通訊以產生一快照請求,該快照請求將由對應於該應用程式莢之該變更追蹤程式莢來處理,該變更追蹤程式莢因應該快照請求而創建一快照內容並停止先前的變更追踪,啟動新的變更追踪並相應地將新的變更追踪保存到一叢集儲存中一卷的新位置,該備份控制器應用程式莢從該代理者應用程式莢中取回目前卷快照內容的訊息以及先前更改日誌的位置,再讓該備份控制器應用程式莢根據從該代理者應用程式莢取回的訊息,創建另一個應用程式莢創建請求,而該請求將會把該卷快照內容和該儲存叢集中的該卷掛載到此正要創建的一備份應用程式莢上,該第二叢集將該卷快照內容和該儲存叢集中的該卷配置到該備份應用程式莢並開始運行該備份應用程式莢。
  8. 如請求項7所述之容器化應用程式的管理系統,其中若存在有先前的更改日誌,則該備份應用程式莢從指示的卷位置來讀取持久卷的更改日誌,並將對應的卷快照內容的更改的區塊/文件寫入一備份目標;否則,該備份應用程式莢將對卷快照內容進行完整備份。
  9. 如請求項1所述之容器化應用程式的管理系統,其中該主節點、該第一工作者節點與該第二工作者節點被包含於一叢集中,該叢集中更包含一備份控制器應用程式莢,該備份控制器應用程式莢接收一備份請求時,該備份控制器應用程式莢先與該主節點進行通訊以產生一快照請求,該快照請求將由對應於該應用程式莢之該變更追蹤程式莢來處理,該變更追蹤程式莢因應該快照請求而創建一快照內容並停止先前的變更追踪,啟動新的變更追踪並相應地將新的變更追踪保存到一叢集儲存中一卷的新位置,該備份控制器應用程式莢從該主節點中取回目前卷快照內容的訊息以及先前更改日誌的位置,再讓該備份控制器應用程式莢根據從該主節點取回的訊息,創建另一個應用程式莢創建請求,而該請求將會把該卷快照內容和該儲存叢集中的該卷掛載到此正要創建的一備份應用程式莢上,該叢集中將該卷快照內容和該儲存叢集中的該卷配置到該備份應用程式莢並開始運行該備份應用程式莢。
  10. 如請求項9所述之容器化應用程式的管理系統,其中若存在有先前的更改日誌,則該備份應用程式莢從指示的卷位置來讀取持久卷的更改日誌,並將對應的卷快照內容的更改的區塊/文件寫入一備份目標;否則,該備份應用程式莢將對卷快照內容進行完整備份。
  11. 一種容器化應用程式的管理方法,應用於一網路、一主節點、其上已預先設置一第一變更追蹤程式莢之一第一工作者節點以及其上已預先設置一第二變更追蹤程式莢之一第二工作者節點之間,其包含下列步驟: 接收一應用程式莢創建請求,當該應用程式莢創建請求之一內容符合一預設情況時,該主節點發出一內容變異(Mutate)請求; 接收該內容變異請求而異動該應用程式莢創建請求之內容來形成一變異後應用程式莢創建請求,再由該主節點轉傳出去給該第一工作者節點或該第二工作者節點;以及 使該第一工作者節點或該第二工作者節點根據該變異後應用程式莢創建請求而建立一應用程式莢,該應用程式莢包含有一啟始容器化程式以及至少一容器化程式,該啟始容器化程式優先被執行而啟動該第一變更追蹤程式莢或該第二變更追蹤程式莢後,該容器化程式才會被執行,使該容器化程式執行時所產生的資料變更會被該第一變更追蹤程式莢或該第二變更追蹤程式莢記錄。
  12. 如請求項11所述之容器化應用程式的管理方法,其中該內容符合該預設情況係為該應用程式莢創建請求的內容與預先配置的一網鉤組態相符。
  13. 如請求項11所述之容器化應用程式的管理方法,其中該啟始容器化程式優先被執行而發出一變更追蹤(change tracking)的請求至該第一變更追蹤程式莢或該第二變更追蹤程式莢,用以啟動該第一變更追蹤程式莢或該第二變更追蹤程式莢中的一變更追蹤工作程序。
  14. 如請求項11所述之容器化應用程式的管理方法, 其中該主節點、該第一工作者節點與該第二工作者節點被包含於一第一叢集,該第一叢集中更包含一代理者應用程式莢,更包含一第二叢集獨立於該第一叢集,該第二叢集中更包含一備份控制器應用程式莢,當該備份控制器應用程式莢接收一備份請求時,該備份控制器應用程式莢先與該代理者應用程式莢進行通訊以產生一快照請求,該快照請求將由對應於該應用程式莢之該變更追蹤程式莢來處理,該變更追蹤程式莢因應該快照請求而創建一快照內容並停止先前的變更追踪,啟動新的變更追踪並相應地將新的變更追踪保存到一叢集儲存中一卷的新位置,該備份控制器應用程式莢從該代理者應用程式莢中取回目前卷快照內容的訊息以及先前更改日誌的位置,再讓該備份控制器應用程式莢根據從該代理者應用程式莢取回的訊息,創建另一個應用程式莢創建請求,而該請求將會把該卷快照內容和該儲存叢集中的該卷掛載到此正要創建的一備份應用程式莢上,該第二叢集將該卷快照內容和該儲存叢集中的該卷配置到該備份應用程式莢並開始運行該備份應用程式莢,其中,若存在有先前的更改日誌,則該備份應用程式莢從指示的卷位置來讀取持久卷的更改日誌,並將對應的卷快照內容的更改的區塊/文件寫入一備份目標;否則,該備份應用程式莢將對卷快照內容進行完整備份。
  15. 如請求項11所述之容器化應用程式的管理方法,其中該主節點、該第一工作者節點與該第二工作者節點被包含於一叢集中,該叢集中更包含一備份控制器應用程式莢,當該叢集的該備份控制器應用程式莢接收一備份請求時該備份控制器應用程式莢先與該主節點進行通訊以產生一快照請求,該快照請求將由對應於該應用程式莢之該變更追蹤程式莢來處理,該變更追蹤程式莢因應該快照請求而創建一快照內容並停止先前的變更追踪,啟動新的變更追踪並相應地將新的變更追踪保存到一叢集儲存中一卷的新位置,該備份控制器應用程式莢從該主節點中取回目前卷快照內容的訊息以及先前更改日誌的位置,再讓該備份控制器應用程式莢根據從該主節點取回的訊息,創建另一個應用程式莢創建請求,而該請求將會把該卷快照內容和該儲存叢集中的該卷掛載到此正要創建的一備份應用程式莢上,該叢集將該卷快照內容和該儲存叢集中的該卷配置到該備份應用程式莢並開始運行該備份應用程式莢,其中,若存在有先前的更改日誌,則該備份應用程式莢從指示的卷位置來讀取持久卷的更改日誌,並將對應的卷快照內容的更改的區塊/文件寫入一備份目標;否則,該備份應用程式莢將對卷快照內容進行完整備份。
TW110114838A 2020-10-12 2021-04-26 容器化應用程式的管理系統與管理方法 TWI764694B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202063090282P 2020-10-12 2020-10-12
US63/090,282 2020-10-12
TW109141936 2020-11-30
TW109141936 2020-11-30

Publications (2)

Publication Number Publication Date
TW202215240A TW202215240A (zh) 2022-04-16
TWI764694B true TWI764694B (zh) 2022-05-11

Family

ID=81077719

Family Applications (1)

Application Number Title Priority Date Filing Date
TW110114838A TWI764694B (zh) 2020-10-12 2021-04-26 容器化應用程式的管理系統與管理方法

Country Status (2)

Country Link
US (1) US11803412B2 (zh)
TW (1) TWI764694B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230214238A1 (en) * 2021-12-30 2023-07-06 Monday.com Ltd. Controlling cloud microservices automatically
US11709749B1 (en) * 2022-01-03 2023-07-25 Microsoft Technology Licensing, Llc Diagnostic data collection for kubernetes
US20230342262A1 (en) * 2022-04-26 2023-10-26 Pure Storage, Inc. Snapshotting storage clusters
US20230342267A1 (en) * 2022-04-26 2023-10-26 Pure Storage, Inc. Cluster-wide Snapshotting of a Container System Cluster
WO2024187159A1 (en) * 2023-03-08 2024-09-12 Entrust Corporation System and method for performing a dedicated backup in a containerized environment

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108958976A (zh) * 2018-07-02 2018-12-07 山东汇贸电子口岸有限公司 一种pv快照备份恢复分布式数据库数据方法和系统
US20190065323A1 (en) * 2017-08-25 2019-02-28 Vmware, Inc. Containerized application snapshots
CN110825495A (zh) * 2019-11-08 2020-02-21 北京浪潮数据技术有限公司 一种容器云平台的恢复方法、装置、设备及可读存储介质
CN111338854A (zh) * 2020-05-25 2020-06-26 南京云信达科技有限公司 基于Kubernetes集群快速恢复数据的方法及系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160241676A1 (en) * 2015-02-18 2016-08-18 Dashcube LLC Method and apparatus for storing, accessing and displaying past application states
US10771843B2 (en) * 2015-12-15 2020-09-08 Telefonaktiebolaget Lm Ericsson (Publ) Media distribution with sample variants for normalized encryption
EP3754502A1 (en) * 2019-06-21 2020-12-23 Accenture Global Solutions Limited Coordinated multiple worker node causal inference framework

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190065323A1 (en) * 2017-08-25 2019-02-28 Vmware, Inc. Containerized application snapshots
CN108958976A (zh) * 2018-07-02 2018-12-07 山东汇贸电子口岸有限公司 一种pv快照备份恢复分布式数据库数据方法和系统
CN110825495A (zh) * 2019-11-08 2020-02-21 北京浪潮数据技术有限公司 一种容器云平台的恢复方法、装置、设备及可读存储介质
CN111338854A (zh) * 2020-05-25 2020-06-26 南京云信达科技有限公司 基于Kubernetes集群快速恢复数据的方法及系统

Also Published As

Publication number Publication date
US11803412B2 (en) 2023-10-31
TW202215240A (zh) 2022-04-16
US20220114004A1 (en) 2022-04-14

Similar Documents

Publication Publication Date Title
TWI764694B (zh) 容器化應用程式的管理系統與管理方法
EP3686739B1 (en) Method and system for enabling agentless backup and restore operations on a container orchestration platform
US10838829B2 (en) Method and apparatus for loading data from a mirror server and a non-transitory computer readable storage medium
US10140303B1 (en) Application aware snapshots
JP4349871B2 (ja) ファイル共有装置及びファイル共有装置間のデータ移行方法
JP5142678B2 (ja) デプロイ方法およびシステム
EP2306320B1 (en) Server image migration
JP6054522B2 (ja) 統合型ストレージ/vdiプロビジョニング方法
US8959323B2 (en) Remote restarting client logical partition on a target virtual input/output server using hibernation data in a cluster aware data processing system
JP5032191B2 (ja) サーバ仮想化環境におけるクラスタシステム構成方法及びクラスタシステム
WO2021129733A1 (zh) 云操作系统的管理方法、装置、服务器、管理系统及介质
US8706859B2 (en) Method and apparatus of data center file system
US9354907B1 (en) Optimized restore of virtual machine and virtual disk data
JP2007133471A (ja) ストレージ装置及びスナップショットのリストア方法
WO2019196705A1 (zh) 物理机到虚拟机迁移方法、装置及存储介质
JPWO2017145272A1 (ja) データ移行方法及び計算機システム
US10620871B1 (en) Storage scheme for a distributed storage system
US20240134761A1 (en) Application recovery configuration validation
JP5966466B2 (ja) バックアップ制御方法、および情報処理装置
JP2006260240A (ja) 計算機システム及び記憶装置とコンピュータ・ソフトウエア並びにデータ移行方法
WO2023125482A1 (zh) 集群管理方法、设备及计算系统
WO2022088812A1 (zh) 一种基于Openstack的硬盘快照方法和装置
CN113439258A (zh) 在二级存储系统上托管虚拟机
CA3025225A1 (en) Application aware snapshots
Shi et al. A cloud service cache system based on memory template of virtual machine