Kubernetes 入門
網路原理 綜合上述,由於 kube-proxy 的作用,在 Service 的呼叫過程中用戶端無須關心後端 有幾個 Pod,中間過程的通訊、負載平衡及故障恢復都是透明的,如圖 2.29 所示。 服務路由訊息透過 watch API Server 取得 透過 iptables 的 DNAT 傳送到 kube-proxy 外部 Client 叢集自動分派服務 的 IP 圖 2.29 Service 程式內部的一種資料結構, 2-96 Kubernetes 核心原理 2 目前已經有多個開源元件支援這個網路模型。這裡將介紹幾個常見的模型,分別是 Flannel、Open vSwitch 及直接路由的方式。 1. Flannel Flannel 之所以可以建置 Kubernetes 依賴的底層網路,是因為它能實現以下兩點: (1) 它能協助 Kubernetes,給每一個 Node 上的 的加入是非常簡單的。可以在 Node 節點 上安裝 Docker、Kubelet 和 kube-proxy 服務,然後將 Kubelet 和 kube-proxy 的啟動 參數中的 Master URL 指定為目前 Kubernetes 叢集 Master 的位址,最後啟動這些服 務。基於 Kubelet 的自動註冊機制,新的 Node 將會自動加入現有的 Kubernetes 叢 集中,如圖0 码力 | 12 页 | 2.00 MB | 1 年前3Debian 新維護人員手冊
Manual (https://lintian.debian.org/manual/index.html) .) • patch - 這是一個非常有用的工具,它可以把 diff 程序生成的差異清單文件應用到原先的文件上,從而生成一個補 丁版本。(參看 patch(1)) • patchutils - 此套件提供了一些可以幫助處理補丁的工具,如 lsdiff、interdiff 和 filterdiff 3還有幾個類似但更針對某一類軟件的軟件包,如 dh-make-perl、dh-make-php 等。 Debian 新維護人員手冊 4 / 57 • xutils-dev - 一些通常用於 X11 的程序,用於使用其宏功能生成 Makefile 文件。(參看 imake(1)、xmkmf(1)) 以上給出的簡短描述僅僅是爲了使你對這些軟件包有一個基本的印象。在繼續前請詳細閱讀每個程序(包括通過依賴 關係安裝的程序,比如 讓我們嘗試創建一個自己的軟件包 (或者,“收養”一個已存在的軟件包則更好)。 2.1 Debian 軟件包構建流程 如果你要基於某個上遊程序構建軟件包,那麼典型的 Debian 軟件包構建流程就會包含生成幾個特定的文件,如下: • 獲取上游軟件的拷貝,通常爲壓縮過的 tar 格式。 – package-version.tar.gz • 在上遊程序的 debian 目錄下添加 Debian 特定的打包修改,並以0 码力 | 63 页 | 512.12 KB | 1 年前3Comprehensive Rust(繁体中文)
透過以下模組支援 Rust: 模組型態 敘述 rust_binary 生成一個 Rust 執行檔。 rust_library 生成一個 Rust 函式庫,及其對應 的 rlib 和 dylib 變體。 rust_ffi 生成一個可被 cc 模組使用的 Rust C 函式庫,及其對應的靜態 和共享變體。 rust_proc_macro 生成一個 proc-macro Rust 函 式庫,類似於編譯器 擴充。 擴充。 rust_test 使用 Rust 自動化測試框架,生成 一個 Rust 測試檔。 rust_fuzz 生成一個使用 libfuzzer 的 Rust 模糊測試執行檔。 rust_protobuf 生成對應 protobuf 介面的 Rust 原始碼及函式庫。 rust_bindgen 生成用於連接 C 函式庫的 Rust 原始碼及函式庫。 接下來我們會探討 rust_binary 及 rust_library。 t; use reqwest::Url; use scraper::{Html, Selector}; use thiserror::Error; enum Error { ReqwestError(#[from] reqwest::Error), BadResponse(String), } struct CrawlCommand { url: Url, extract_links: bool0 码力 | 358 页 | 1.41 MB | 10 月前3Debian 套件打包教學指南 version 0.29
package=version ▶ apt-get source package/release (需要加入 deb-src 的設定到 sources.list) ▶ 透過網路下載: ▶ dget url-to.dsc ▶ dget http://snapshot.debian.org/archive/debian-archive/ 20090802T004153Z/debian/dists/bo/main/source/web/ 控制 alternatives ▶ 在 maintainer scripts完成 preinst, postinst, prerm, postrm ▶ 有些共同的動作可以被 debhelper 所生成 ▶ 文件: ▶ Debian維護手冊, 第6章 https://www.debian.org/doc/debian-policy/ch-maintainerscripts ▶ Debian 開發者參考 Debian 套件打包教學指南 76 / 90 循序漸進. . . (2) ▶ 注意 debian/changelog, debian/rules, debian/control (由 dh_make自動生成) ▶ 在debian/control: Build-Depends: debhelper (>= 7.0.50 ), autotools-dev 列出build-dependencies = packages0 码力 | 90 页 | 691.02 KB | 1 年前3Hello 算法 1.2.0 繁体中文 C++ 版
hello‑algo.com 3 圖 0‑1 本書主要內容 0.1.3 致謝 本書在開源社群眾多貢獻者的共同努力下不斷完善。感謝每一位投入時間與精力的撰稿人,他們是(按照 GitHub 自動生成的順序):krahets、coderonion、Gonglja、nuomi1、Reanon、justin‑tse、hpstory、 danielsss、curtishd、night‑cruise、 linearLogRecur(n / 2); for (int i = 0; i < n; i++) { count++; } return count; } 圖 2‑13 展示了線性對數階的生成方式。二元樹的每一層的操作總數都為 ? ,樹共有 log2 ? + 1 層,因此時 間複雜度為 ?(? log ?) 。 第 2 章 複雜度分析 www.hello‑algo.com 39 圖 === File: worst_best_time_complexity.cpp === /* 生成一個陣列,元素為 { 1, 2, ..., n },順序被打亂 */ vectorrandomNumbers(int n) { vector nums(n); // 生成陣列 nums = { 1, 2, 3, ..., n } for (int i = 0; i < 0 码力 | 379 页 | 18.79 MB | 9 月前3Hello 算法 1.2.0 繁体中文 C# 版
hello‑algo.com 3 圖 0‑1 本書主要內容 0.1.3 致謝 本書在開源社群眾多貢獻者的共同努力下不斷完善。感謝每一位投入時間與精力的撰稿人,他們是(按照 GitHub 自動生成的順序):krahets、coderonion、Gonglja、nuomi1、Reanon、justin‑tse、hpstory、 danielsss、curtishd、night‑cruise、 LinearLogRecur(n / 2); for (int i = 0; i < n; i++) { count++; } return count; } 圖 2‑13 展示了線性對數階的生成方式。二元樹的每一層的操作總數都為 ? ,樹共有 log2 ? + 1 層,因此時 間複雜度為 ?(? log ?) 。 第 2 章 複雜度分析 www.hello‑algo.com 39 圖 // === File: worst_best_time_complexity.cs === /* 生成一個陣列,元素為 { 1, 2, ..., n },順序被打亂 */ int[] RandomNumbers(int n) { int[] nums = new int[n]; // 生成陣列 nums = { 1, 2, 3, ..., n } for (int i = 0; i < n;0 码力 | 379 页 | 18.79 MB | 9 月前3Hello 算法 1.2.0 繁体中文 Dart 版
hello‑algo.com 3 圖 0‑1 本書主要內容 0.1.3 致謝 本書在開源社群眾多貢獻者的共同努力下不斷完善。感謝每一位投入時間與精力的撰稿人,他們是(按照 GitHub 自動生成的順序):krahets、coderonion、Gonglja、nuomi1、Reanon、justin‑tse、hpstory、 danielsss、curtishd、night‑cruise、 linearLogRecur(n ~/ 2); for (var i = 0; i < n; i++) { count++; } return count; } 圖 2‑13 展示了線性對數階的生成方式。二元樹的每一層的操作總數都為 ? ,樹共有 log2 ? + 1 層,因此時 間複雜度為 ?(? log ?) 。 第 2 章 複雜度分析 www.hello‑algo.com 39 圖 File: worst_best_time_complexity.dart === /* 生成一個陣列,元素為 { 1, 2, ..., n },順序被打亂 */ ListrandomNumbers(int n) { final nums = List.filled(n, 0); // 生成陣列 nums = { 1, 2, 3, ..., n } for (var i = 0; 0 码力 | 378 页 | 18.77 MB | 9 月前3Hello 算法 1.2.0 繁体中文 Go 版
hello‑algo.com 3 圖 0‑1 本書主要內容 0.1.3 致謝 本書在開源社群眾多貢獻者的共同努力下不斷完善。感謝每一位投入時間與精力的撰稿人,他們是(按照 GitHub 自動生成的順序):krahets、coderonion、Gonglja、nuomi1、Reanon、justin‑tse、hpstory、 danielsss、curtishd、night‑cruise、 linearLogRecur(n/2) + linearLogRecur(n/2) for i := 0; i < n; i++ { count++ } return count } 圖 2‑13 展示了線性對數階的生成方式。二元樹的每一層的操作總數都為 ? ,樹共有 log2 ? + 1 層,因此時 間複雜度為 ?(? log ?) 。 第 2 章 複雜度分析 www.hello‑algo.com 39 圖 // === File: worst_best_time_complexity.go === /* 生成一個陣列,元素為 { 1, 2, ..., n },順序被打亂 */ func randomNumbers(n int) []int { nums := make([]int, n) // 生成陣列 nums = { 1, 2, 3, ..., n } for i := 0; i < n;0 码力 | 385 页 | 18.80 MB | 9 月前3Hello 算法 1.2.0 繁体中文 Kotlin 版
hello‑algo.com 3 圖 0‑1 本書主要內容 0.1.3 致謝 本書在開源社群眾多貢獻者的共同努力下不斷完善。感謝每一位投入時間與精力的撰稿人,他們是(按照 GitHub 自動生成的順序):krahets、coderonion、Gonglja、nuomi1、Reanon、justin‑tse、hpstory、 danielsss、curtishd、night‑cruise、 linearLogRecur(n / 2) + linearLogRecur(n / 2) for (i in 0..生成方式。二元樹的每一層的操作總數都為 ? ,樹共有 log2 ? + 1 層,因此時 間複雜度為 ?(? log ?) 。 第 2 章 複雜度分析 www.hello‑algo.com 39 圖 === File: worst_best_time_complexity.kt === /* 生成一個陣列,元素為 { 1, 2, ..., n },順序被打亂 */ fun randomNumbers(n: Int): Array { val nums = IntArray(n) // 生成陣列 nums = { 1, 2, 3, ..., n } for (i in 0.. 0 码力 | 382 页 | 18.79 MB | 9 月前3Hello 算法 1.2.0 繁体中文 Java 版
hello‑algo.com 3 圖 0‑1 本書主要內容 0.1.3 致謝 本書在開源社群眾多貢獻者的共同努力下不斷完善。感謝每一位投入時間與精力的撰稿人,他們是(按照 GitHub 自動生成的順序):krahets、coderonion、Gonglja、nuomi1、Reanon、justin‑tse、hpstory、 danielsss、curtishd、night‑cruise、 linearLogRecur(n / 2); for (int i = 0; i < n; i++) { count++; } return count; } 圖 2‑13 展示了線性對數階的生成方式。二元樹的每一層的操作總數都為 ? ,樹共有 log2 ? + 1 層,因此時 間複雜度為 ?(? log ?) 。 第 2 章 複雜度分析 www.hello‑algo.com 39 圖 File: worst_best_time_complexity.java === /* 生成一個陣列,元素為 { 1, 2, ..., n },順序被打亂 */ int[] randomNumbers(int n) { Integer[] nums = new Integer[n]; // 生成陣列 nums = { 1, 2, 3, ..., n } for (int i = 0; i0 码力 | 379 页 | 18.79 MB | 9 月前3
共 41 条
- 1
- 2
- 3
- 4
- 5