精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

K8S學習教程三:在PetaExpress KubeSphere 容器部署 Wiki 系統 wiki.js 并啟用中文全文檢索

jf_57681485 ? 來源:jf_57681485 ? 作者:jf_57681485 ? 2024-07-08 17:03 ? 次閱讀

背景

wiki.js 是非常優秀的開源 Wiki 系統,盡管在與 xwiki 功能相比 ,還不算完善,但也在不斷進步。 常用的功能還是比較實用的,如:Wiki 寫 作、分享、權限管理功能還是非常實用的,UI 設計非常的漂亮,精美的界面和直觀的操作體驗,能夠滿足小團隊的基本知識管理需求。

認真閱讀全文,教你怎么領取禮品

我們需要在 PetaExpress KubeSphere 容器平臺中部署 Kubernetes集群

在 Peta Express 中部署 Kubernetes 非常的簡單方便,直接使用 PetaExpress 中內置的 QKE 就可以了,首先我們需要登錄到 PetaExpress 控制臺(登錄地址:https://cn.petaexpress.com ),在產品與服務中找到 AppCenter 控制臺 → 應用中心

wKgZomaE_LWAIzZtAACo5pTAtaY093.png

找到 QKE 立即部署即可。

wKgaomaE_LyAEfSSAAJiyIgwpvs755.png

按照提示輸入名稱,選擇集群規模等關鍵信息,然后提交就可以了。但需要注意集群的配置,如果是開發測試可以選擇 “基礎型開發環境” 或 “企業型測試環境”,如果是生產的話則可以選擇 “基礎型生產環境” 或 “企業型生產環境”,也可以自定義集群規模和HA。

wKgZomaE_MOAKqGfAAEvz12OjTg619.png

根據集群的規模,部署時間大致2分鐘到10分鐘不等,速度還是非常的快的,能在極短的時間內完成。部署完 Kubernetes(K8S),需要安裝 OpenEBS,完成這一環節后就可以安裝 Redis 了。

準備 storageclass

我們使用 OpenEBS 作為存儲,OpenEBS 默認安裝的 Local StorageClass 在 Pod 銷毀后自動刪除,不適合用于我的數據存儲,我們在

Local StorageClass 基礎上稍作修改,創建新的 StorageClass,允許 Pod 銷毀后,PV 內容繼續保留,手動決定怎么處理。

在項目空間的 存儲 → 存儲類型 → 創建 進行storageClass的創建

名稱:localretain

存儲系統:自定義

存儲卷擴容:否

回收機制:Retain

訪問模式:ReadWriteOnce

存儲系統:openebs.io/local

存儲卷延遲綁定:延遲綁定編輯完成后點擊創建,或直接點擊 編輯YAML ,將以下yaml內容粘貼后點擊創建

部署 PostgreSQL 數據庫

鑒于我們團隊在多個項目中也需要使用 PostgreSQL, 為了提高 PostgreSQL 數據庫的利用率和統一管理,我們獨立部署 PostgreSQL,并在

安裝 wiki.js 時,配置為使用外部數據庫。

準備用戶名密碼配置

我們使用 Secret 保存 PostgreSQL 用戶密碼等敏感信息。

在項目空間的 配置 → 保密字典 → 創建 進行保密字典的創建。

1 apiVersion: storage.k8s.io/v1

2 kind: StorageClass

3 metadata:

4annotations:

5cas.openebs.io/config: |

6- name: StorageType

7value: "hostpath"

8- name: BasePath

9value: "/var/openebs/localretain/"

10openebs.io/cas-type: local

11storageclass.beta.kubernetes.io/is-default-class: "false"

12storageclass.kubesphere.io/supported-access-modes: '["ReadWriteOnce"]'

13name: localretain

14 provisioner: openebs.io/local

15 reclaimPolicy: Retain

16 volumeBindingMode: WaitForFirstConsumer

wKgZomaLpaCAY6_wAAKCDkj1dHo565.png

部署 PostgreSQL 數據庫

鑒于我們團隊在多個項目中也需要使用 PostgreSQL, 為了提高 PostgreSQL 數據庫的利用率和統一管理,我們獨立部署 PostgreSQL,并在

安裝 wiki.js 時,配置為使用外部數據庫。

準備用戶名密碼配置

我們使用 Secret 保存 PostgreSQL 用戶密碼等敏感信息。

在項目空間的 配置 → 保密字典 → 創建 進行保密字典的創建。

wKgZomaLpb6APp5qAAJxBOX5lI4625.png

首先我們定義一個名稱就叫 postgres-prod 點擊下一步,類型保持默認設置即可, 添加鍵值對數據。

wKgaomaLpcWAP7mEAAJU_DJ6Je8728.png

鍵為 POSTGRES_PASSWORD ,值為 password ( 密碼自行準備修改 )

wKgaomaLpfyAAjlRAAI3eMxUvoQ835.png

準備數據庫初始化腳本

使用 ConfigMap 保存數據庫初始化腳本,在 數據庫創建時,將 ConfigMap 中的數據庫初始化腳本掛載到 /docker-entrypoint-initdb.d, 容器初 始化時會自動執行該腳本。

在項目空間的 配置 → 配置字典 → 創建 進行配置字典的創建。

wKgaomaLphSAYOezAAJOKSEr9ns027.png

名稱就叫 wikijs-postgres-init 然后下一步,添加鍵值對數據。

wKgZomaLpkqAImUCAAJqYShkOAM305.png

鍵為 init.sql ,值為

1CREATE DATABASE wikijs;

2CREATE USER wikijs with password 'password';

3GRANT CONNECT ON DATABASE wikijs to wikijs;

4GRANT USAGE ON SCHEMA public TO wikijs;

5GRANT SELECT,update,INSERT,delete ON ALL TABLES IN SCHEMA public TO wikijs;

6ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO wikijs;

以上 wikijs 用戶的密碼自行準備,明文保存。

準備存儲

我們使用 OpenEBS 來提供存儲服務。可以通過創建 PVC 來提供持久化存儲。

這里聲明一個 10G 的 PVC。

需按照以下步驟操作

在項目空間的 存儲 → 存儲卷 → 創建 進行PVC的創建。

wKgaomaLpq6AOsu_AAKGndLlpD8765.png

名稱就叫 postgres-prod-data ,然后下一步,進行存儲設置。

存儲類型: localretain

訪問模式: ReadWriteOnce

存儲卷容量: 10G

wKgaomaLpu6AUiZuAAKZuveq3Sc107.png

高級設置無需修改,點擊創建按鈕即可。

部署 PostgreSQL 數據庫

在前面的步驟準備好各種配置信息和存儲后,就可以開始部署 PostgreSQL 服務了。

我們的 Kubernetes 沒有配置存儲陣列,使用的是 OpenEBS 作為存儲,采用 Deployment 方式部署 PostgreSQL。

需按照以下步驟操作

在項目空間的 應用負載 → 工作負載 → 部署 → 創建 進行 PostgreSQL 服務的創建。

wKgaomaLpyqAPy7dAAHfo5ktBc8096.png

基本信息里名稱就叫做 postgres-prod ,然后進行下一步容器組設置

容器組配置

這一步的核心就是配置 postgres 的容器。

wKgZomaLp0SAU1ygAAIvd4MVPRg608.png

容器組副本數量選擇1,點擊添加容器鏡像選擇 dockerhub 中的 abcfy2/zhparser:12-alpine ,并選擇使用默認端口,容器名稱改為 postgres-prod

wKgZomaLp1SAQrScAALmMZXNgso032.png

勾選 環境變量 ,點擊 引用配置字典或保密字典 ,資源選擇 postgres-prod 保密字典,資源中的鍵選擇 POSTGRES_PASSWORD ,之后點擊對勾完成容器配置,點擊下一步配置 存儲卷設置

wKgaomaLp2uAclZAAAN_4mdIxn8028.png

存儲設置

在這一步有兩個操作

掛載存儲卷

掛載配置字典

掛載存儲卷

選擇現有存儲卷 postgres-prod-data ,權限為讀寫,掛載地址為 /var/lib/postgresql/data ,配置好后點擊對勾完成配置

wKgaomaLp56AI98YAAKmEcNtVUg125.png

掛載配置字典

選擇配置字典 wikijs-postgres-init ,權限為只讀,掛載地址為 /docker-entrypoint-initdb.d ,配置好后點擊對勾完成配置

wKgZomaLp9iAJIxrAAKlvGEMjs0925.png

配置好后如下圖

wKgZomaLp-eAHQSUAALaWMYuCB8999.png

點擊下一步進入最后的高級設置

高級設置 里是一些額外配置,可以根據自己場景選擇調整配置,調整完成后點擊 創建 。創建供其他 Pod 訪問的 Service

在項目空間的 應用負載 → 服務 → 創建 進行服務的創建

wKgaomaLqAWAWIgSAAHeY3_JHRY738.png

名稱就叫 postgres-prod 然后下一步,進入服務設置

內部訪問模式選擇 虛擬IP地址 ,指定工作負載選擇 postgres-prod

端口協議:TCP

端口名稱:tcp-5432

容器端口:5432

服務端口:5432

wKgZomaLqBaAffUBAAIZFaIJ6Ms375.png

點擊下一步進入高級設置

高級設置 里是一些額外配置,可以根據自己場景選擇調整配置,調整完成后點擊 創建 。

部署 wiki.js

準備用戶名密碼配置

我們使用 Secret 保存 wiki.js 用于連接數據庫的用戶名密碼等敏感信息。

在項目空間的 配置 → 保密字典 → 創建 進行保密字典的創建。

wKgZomaLqFSAHctTAAHOW8l6VPA279.png

名稱就叫 wikijs 然后下一步,類型選擇默認, 添加鍵值對數據。

wKgZomaLqF6AWz-sAAHQpYGIPhg874.png

鍵為 DB_USER ,值為 wikijs ( 和上方初始化腳本中的用戶名保持一致 )

鍵為 DB_PASS ,值為 password ( 和上方初始化腳本中的密碼保持一致 )

準備數據庫連接配置

我們使用 ConfigMap 保存 wiki.js 的數據庫連接信息。

在項目空間的 配置 → 配置字典 → 創建 進行配置字典的創建。

wKgaomaLqHqAJFJfAAHYHMvUycs847.png

名稱就叫 wikijs 然后下一步,添加鍵值對數據。

wKgaomaLqIaANolpAAHk_l2V9UQ482.png

鍵值對數據如下

1DB_TYPE: postgres

2 DB_HOST: postgres-prod

3DB_PORT: 5432

4 DB_NAME: wikijs創建數據庫用戶和數據庫

如果 PostgreSQL 數據庫里沒有創建 wikijs 用戶和數據 ,需要手工完成一下工作:

通過『數據庫工具』連接 PostgreSQL 數據庫,執行一下 SQL 語句,完成數據庫和用戶的創建、授權。

以上 wikijs 的密碼自行修改。

部署 wiki.js

這里我們采用 Deployment 方式部署 wiki.js。

在項目空間的 應用負載 → 工作負載 → 部署 → 創建 進行 wiki.js 服務的創建。

wKgZomaLqKuASQcaAAHscRU-CRk518.png

基本信息里名稱就叫做 wikijs ,然后進行下一步容器組設置

容器組配置

這一步的核心就是配置 wikijs 的容器。

容器組副本數量選擇1,點擊添加容器

wKgZomaLqMCAXwRgAAI9jlW1qmc546.png

5 HA_ACTIVE: true

1 CREATE DATABASE wikijs;

2 CREATE USER wikijs with password 'password';

3 GRANT CONNECT ON DATABASE wikijs to wikijs;

4 GRANT USAGE ON SCHEMA public TO wikijs;

5 GRANT SELECT,update,INSERT,delete ON ALL TABLES IN SCHEMA public TO wikijs;

6 ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO wikijs;鏡像選擇 dockerhub 中的 requarks/wiki:2 ,并選擇使用默認端口,容器名稱改為 wikijs

wKgaomaLqOWAfuwJAAL4Yz29Zhg054.png

勾選 環境變量 ,點擊 引用配置字典或保密字典 ,先添加剛才創建的保密字典 wikijs ,然后添加配置字典 wikijs ,之后點擊對勾完成容器配置,點擊下一步配置

wKgZomaLqSOAMNhAAALxNqY12QI540.png

存儲卷設置存儲卷此處無需設置,點擊下一步進入高級配置

wKgZomaLqTKAbl1tAAHgmhZKrSc805.png

高級設置 里是一些額外配置,可以根據自己場景選擇調整配置,調整完成后點擊 創建 。

wKgaomaLqU-AdMeGAAHqbDYSrBQ121.png

創建訪問 wiki.js 的 Service

在項目空間的 應用負載 → 服務 → 創建 進行服務的創建名稱就叫 wikijs 然后下一步,進入服務設置

內部訪問模式選擇 虛擬IP地址 ,指定工作負載選擇 wikijs

端口協議:TCP

端口名稱:tcp-3000

容器端口:3000

wKgZomaLqV6AF4eNAAIq73G2xJY216.png

服務端口:3000點擊下一步進入高級設置,勾選外部訪問,訪問模式選擇NodePort,完成后點擊 創建 。

wKgZomaLqWyAZhhTAAHo1IIHLu8661.png

然后可以使用NodePort的IP + Port進行訪問wikijs。

配置 wiki.js 支持中文全文檢索

wiki.js 的全文檢索支持基于 PostgreSQL 的檢索,也支持 Elasticsearch 等,相對來說, PostgreSQL 比較輕量級,本項目中,我們使用

PostgreSQL 的全文檢索。

但是,因為 PostgreSQL 不支持中文分詞,需要額外安裝插件并配置啟用中文分詞,下面描述了為 wiki.js 啟動基于 PostgreSQL 數據庫中文

分詞的全文檢索。

授予 wikijs 用戶臨時超管權限

通過數據庫管理工具登錄有超管權限的 PostgreSQL 用戶,臨時授予 wiki.js 用戶臨時超管權限,便于啟動中文分詞功能。

啟用數據庫的中文分詞能力

使用數據庫管理工具登錄 PostgreSQL 數據庫的 wikijs 用戶,執行以下命令,啟動數據庫的中文分詞功能。

1 ALTER USER wikijs WITH SUPERUSER;

1 CREATE EXTENSION pg_trgm;

2

3 CREATE EXTENSION zhparser;

4 CREATE TEXT SEARCH CONFIGURATION pg_catalog.chinese_zh (PARSER = zhparser);

5 ALTER TEXT SEARCH CONFIGURATION chinese_zh ADD MAPPING FOR n,v,a,i,e,l WITH simple;

6

7 -- 忽略標點影響

8 ALTER ROLE wikijs SET zhparser.punctuation_ignore = ON;

9

-- 短詞復合取消 wikijs 用戶的臨時超管權限

登錄 PostgreSQL 數據庫 wikijs 用戶,取消 wikijs 用戶的超管權限。

創建支持中文分詞的配置 ConfigMap

在項目空間的 配置 → 配置字典 → 創建 進行配置字典的創建。

名稱就叫 wikijs-zhparser 然后下一步,添加兩個鍵值對數據。

10 ALTER ROLE wikijs SET zhparser.multi_short = ON;

11

12-- 測試一下

13select ts_debug('chinese_zh', '青春是最美好的年歲,青春是最燦爛的日子。每一個人的青春都無比寶貴,寶貴的青春只有與奮斗為伴才最閃光

取消 wikijs 用戶的臨時超管權限

登錄 PostgreSQL 數據庫 wikijs 用戶,取消 wikijs 用戶的超管權限。

1 ALTER USER wikijs WITH NOSUPERUSER;

創建支持中文分詞的配置 ConfigMap

在項目空間的 配置 → 配置字典 → 創建 進行配置字典的創建。

wKgZomaLqgGACbWhAAHo07K2djE898.png

名稱就叫 wikijs-zhparser 然后下一步,添加兩個鍵值對數據。

wKgZomaLqiaALLqXAAIfdWThRio574.pngwKgZomaLqiaAV3Z0AAJZpaej9tg819.png

1. 鍵為 definition.yml ,值為

1 key: postgres

2 title: Database - PostgreSQL

3 description: Advanced PostgreSQL-based search engine.

4 author: requarks.io

5 logo: https://static.requarks.io/logo/postgresql.svg

6 website: https://www.requarks.io/

7 isAvailable: true

8 props:

9dictLanguage:

10type: String

11title: Dictionary Language

12hint: Language to use when creating and querying text search vectors.2. 鍵為 engine.js ,值為

13default: english

14enum:

15- simple

16- danish

17- dutch

18- english

19- finnish

20- french

21- german

22- hungarian

23- italian

24- norwegian

25- portuguese

26- romanian

27- russian

28- spanish

29- swedish

30- turkish

31- chinese_zh

32order: 1

2. 鍵為 engine.js ,值為

1 const tsquery = require('pg-tsquery')()

2 const stream = require('stream')

3 const Promise = require('bluebird')

4 const pipeline = Promise.promisify(stream.pipeline)

5

6 /* global WIKI */

7

8 module.exports = {

9async activate() {

10if (WIKI.config.db.type !== 'postgres') {

11throw new WIKI.Error.SearchActivationFailed('Must use PostgreSQL database to activate this engine!')

12}

13},

14async deactivate() {

15WIKI.logger.info(`(SEARCH/POSTGRES) Dropping index tables...`)

16await WIKI.models.knex.schema.dropTable('pagesWords')

17await WIKI.models.knex.schema.dropTable('pagesVector')

18WIKI.logger.info(`(SEARCH/POSTGRES) Index tables have been dropped.`)

19},

20/**

21* INIT

22*/

23async init() {

24WIKI.logger.info(`(SEARCH/POSTGRES) Initializing...`)

25

26// -> Create Search Index

27const indexExists = await WIKI.models.knex.schema.hasTable('pagesVector')

28if (!indexExists) {

29WIKI.logger.info(`(SEARCH/POSTGRES) Creating Pages Vector table...`)

30await WIKI.models.knex.schema.createTable('pagesVector', table => {

31table.increments()

32table.string('path')

33table.string('locale')

34table.string('title')

35table.string('description')

36table.specificType('tokens', 'TSVECTOR')

37table.text('content')

38})

39}

40// -> Create Words Index

41const wordsExists = await WIKI.models.knex.schema.hasTable('pagesWords')

42if (!wordsExists) {

43WIKI.logger.info(`(SEARCH/POSTGRES) Creating Words Suggestion Index...`)

44await WIKI.models.knex.raw(`

45CREATE TABLE "pagesWords" AS SELECT word FROM ts_stat(

46'SELECT to_tsvector(''simple'', "title") || to_tsvector(''simple'', "description") || to_tsvector(''s

47)`)

48await WIKI.models.knex.raw('CREATE EXTENSION IF NOT EXISTS pg_trgm')

49await WIKI.models.knex.raw(`CREATE INDEX "pageWords_idx" ON "pagesWords" USING GIN (word gin_trgm_ops)`)

50}

51

52WIKI.logger.info(`(SEARCH/POSTGRES) Initialization completed.`)

53},

54/**

55* QUERY

56*

57* @param {String} q Query

58* @param {Object} opts Additional options

59*/

60async query(q, opts) {

61try {

62let suggestions = []

63let qry = `

64SELECT id, path, locale, title, description

65FROM "pagesVector", to_tsquery(?,?) query

66WHERE (query @@ "tokens" OR path ILIKE ?)

67`

68let qryEnd = `ORDER BY ts_rank(tokens, query) DESC`

69let qryParams = [this.config.dictLanguage, tsquery(q), `%${q.toLowerCase()}%`]

70

71if (opts.locale) {

72qry = `${qry} AND locale = ?`

73qryParams.push(opts.locale)

74}

75if (opts.path) {

76qry = `${qry} AND path ILIKE ?`

77qryParams.push(`%${opts.path}`)

78}

79const results = await WIKI.models.knex.raw(`

80${qry}

81${qryEnd}

82`, qryParams)

83if (results.rows.length < 5) {

84const suggestResults = await WIKI.models.knex.raw(`SELECT word, word <-> ? AS rank FROM "pagesWords" WH

85suggestions = suggestResults.rows.map(r => r.word)

86}

87return {

88results: results.rows,

89suggestions,

90totalHits: results.rows.length

91}

92} catch (err) {

93WIKI.logger.warn('Search Engine Error:')

94WIKI.logger.warn(err)

95}

96},

97/**

98* CREATE

99*

100* @param {Object} page Page to create

101*/

102async created(page) {

103await WIKI.models.knex.raw(`

104INSERT INTO "pagesVector" (path, locale, title, description, "tokens") VALUES (

105?, ?, ?, ?, (setweight(to_tsvector('${this.config.dictLanguage}', ?), 'A') || setweight(to_tsvector('${

106)

107`, [page.path, page.localeCode, page.title, page.description, page.title, page.description, page.safeConten

108},

109/**

110* UPDATE

111*

112* @param {Object} page Page to update

113*/

114async updated(page) {

115await WIKI.models.knex.raw(`

116UPDATE "pagesVector" SET

117title = ?,

118description = ?,

119tokens = (setweight(to_tsvector('${this.config.dictLanguage}', ?), 'A') ||

120setweight(to_tsvector('${this.config.dictLanguage}', ?), 'B') ||

121setweight(to_tsvector('${this.config.dictLanguage}', ?), 'C'))

122WHERE path = ? AND locale = ?

123`, [page.title, page.description, page.title, page.description, page.safeContent, page.path, page.localeCod

124},

125/**

126* DELETE

127*

128* @param {Object} page Page to delete

129*/

130async deleted(page) {

131await WIKI.models.knex('pagesVector').where({

132locale: page.localeCode,

133path: page.path

134}).del().limit(1)

135},

136/**

137* RENAME

138*

139* @param {Object} page Page to rename

140*/

141async renamed(page) {

142await WIKI.models.knex('pagesVector').where({

143locale: page.localeCode,

144path: page.path

145}).update({

146locale: page.destinationLocaleCode,

147path: page.destinationPath

148})

149},

150/**

151* REBUILD INDEX

152

*/更新 wikijs 的 Deployment

wiki.js 的基于 PostgreSQL 的全文檢索引擎配置位于 /wiki/server/modules/search/postgres ,我們將前面配置的 ConfigMap 加載到這個目錄。

在項目空間的 應用負載 → 工作負載 → wikijs 進入 wikijs 工作負載的詳情頁

wKgaomaLqoKAfVsKAAGjOC0zjno293.png

點擊左側更多操作,選擇編輯設置

wKgZomaLqqGARbfCAAHzQjfJCBs540.png

點擊 存儲卷 → 掛載配置字典或保密字典

wKgaomaLqryARrtzAAH67K4RR0E181.png

選擇配置字典 wikijs-zhparser ,權限為只讀,掛載地址為 /wiki/server/modules/search/postgres ,配置好后點擊對勾完成配置

wKgaomaLquGAOAqDAAIPtOzpesQ969.png

點擊確定完成存儲卷的修改

配置 wiki.js ,啟用基于 PostgreSQL 的全文檢索

1. 新的 Deployment 創建完成后

2. 打開 wiki.js 管理3. 點擊搜索引擎

4. 選擇 Database - PostgreSQL

5. 在 Dictionary Language 的下拉菜單里選擇 chinese_zh。

6. 點擊應用,并重建索引。

7. 完成配置。

wKgaomaLqvyAKPYFAAM_LLs87TU513.png

總結

“K8S學習教程(三):在PetaExpress KubeSphere 容器部署 Wiki 系統 wiki.js 并啟用中文全文檢索”重點講解了wiki.js的部署方式,特別強調了其

對中文全文檢索功能的支持。集成了 PostgreSQL 和 zhparser 中文分詞插件。

相對于標準的 wiki.js 安裝部署過程,主要做了以下配置:

1、wiki.js 鏡像外掛了 ConfigMap ,用于修改原 Docker 鏡像里關于 PostgreSQL 搜索引擎配置的信息,以支持 chinese_zh 選項。

2、PostgreSQL 鏡像采用了 abcfy2/zhparser:12-alpine ,這個鏡像自帶 zhparser 中文分詞插件。

憑此文章可以去petaexpress官網發工單 充值≥1美元送10美元,獎勵數量有限先到先得。申領步驟:注冊→登錄→充值→發工單 回復“文章 網址+文章標題+申請獎勵”,

審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 開源
    +關注

    關注

    3

    文章

    3256

    瀏覽量

    42420
  • Wiki
    +關注

    關注

    0

    文章

    5

    瀏覽量

    8788
收藏 人收藏

    評論

    相關推薦

    k8s微服務架構就是云原生嗎?兩者是什么關系

    k8s微服務架構就是云原生嗎?K8s微服務架構并不等同于云原生,但兩者之間存在密切的聯系。Kubernetes云原生架構中扮演著核心組件的角色,它簡化了容器化應用程序的管理,提供了彈
    的頭像 發表于 11-25 09:39 ?74次閱讀

    混合云部署k8s集群方法有哪些?

    混合云部署k8s集群方法是首先需本地與公有云分別建立K8s集群,確保網絡連接。接著,配置kubeconfig文件連接兩集群,
    的頭像 發表于 11-07 09:37 ?113次閱讀

    k8s可以部署私有云嗎?私有云部署全攻略

    Kubernetes(簡稱K8S)可以部署私有云。Kubernetes是一個開源的容器編排引擎,能夠自動化容器部署、擴展和管理,使得應用可
    的頭像 發表于 10-25 09:32 ?131次閱讀

    k8s云原生開發要求

    IO性能。網絡要求穩定,建議使用私有網絡VPC,配置與Kubernetes兼容的網絡插件。操作系統需與K8s版本匹配,虛擬化平臺支持Docker等。此外,還需關注安全配置,如禁用Swap、調整Sysctl等,以及etcd數據存
    的頭像 發表于 10-24 10:03 ?174次閱讀
    <b class='flag-5'>k8s</b>云原生開發要求

    k8s容器啟動失敗的常見原因及解決辦法

    k8s容器啟動失敗的問題通常出現在開發者使用Kubernetes進行容器編排時,可能的原因有多種,例如:配置錯誤、鏡像問題、資源限制、依賴問題、網絡問題、節點狀態異常、其他因素等,以下是對這些常見原因的詳細分析:
    的頭像 發表于 10-11 10:12 ?189次閱讀

    云服務器部署k8s需要什么配置?

    云服務器部署K8s需要至少2核CPU、4GB內存、50GBSSD存儲的主節點用于管理集群,工作節點建議至少2核CPU、2GB內存、20GBSSD。還需安裝Docker,選擇兼容的Kubernetes版本,配置網絡插件,以及確保系統
    的頭像 發表于 10-09 15:31 ?172次閱讀

    納尼?自建K8s集群日志收集還能通過JMQ保存到JES

    推薦采用單獨部署的方案。 二、新方案實踐 1.新方案簡介 在京東內網環境部署 K8S 收集日志 , kafk
    的頭像 發表于 09-30 14:45 ?188次閱讀

    常用的k8s容器網絡模式有哪些?

    常用的k8s容器網絡模式包括Bridge模式、Host模式、Overlay模式、Flannel模式、CNI(ContainerNetworkInterface)模式。K8s容器網絡模
    的頭像 發表于 09-19 11:29 ?207次閱讀

    K8S集群中使用JDOS KMS服務對敏感數據安全加密

    基本概念 KMS,Key Management Service,即密鑰管理服務,K8S集群中,以驅動和插件的形式啟用對Secret,Configmap進行加密。以保護敏感數據, 驅動和插件需要
    的頭像 發表于 08-09 16:00 ?193次閱讀
    <b class='flag-5'>K8S</b>集群中使用JDOS KMS服務對敏感數據安全加密

    如何使用Kubeadm命令PetaExpress Ubuntu系統上安裝Kubernetes集群

    Kubernetes,通常縮寫為K8s,是一個開源的容器編排平臺,旨在自動化容器化應用的部署、擴展和管理。有了Kubernetes,您可以輕松地部署
    的頭像 發表于 07-15 13:31 ?832次閱讀
    如何使用Kubeadm命令<b class='flag-5'>在</b><b class='flag-5'>PetaExpress</b> Ubuntu<b class='flag-5'>系統</b>上安裝Kubernetes集群

    K8S學習教程(二): PetaExpress KubeSphere容器平臺部署高可用 Redis 集群

    并且需要手動重啟節點,相較之下,使用 PetaExpress 提供的 Kubernetes(k8s) 服務 進行 Redis 集群的部署,則展現出了顯著的優勢: 1、安裝便捷:使用鏡像或者 yaml 配置文件即可一件安裝,極大地
    的頭像 發表于 07-03 15:30 ?693次閱讀
    <b class='flag-5'>K8S</b><b class='flag-5'>學習</b>教程(二):<b class='flag-5'>在</b> <b class='flag-5'>PetaExpress</b> <b class='flag-5'>KubeSphere</b><b class='flag-5'>容器</b>平臺<b class='flag-5'>部署</b>高可用 Redis 集群

     K8S學習教程一:使用PetaExpress云服務器安裝Minikube 集群

    ? 什么是Minikube Minikube是一款工具,主要用于本地運行 Kubernetes 集群。Kubernetes 開源的平臺,用于自動化容器化應用的部署、擴展和管理,而Minikube
    的頭像 發表于 07-01 15:41 ?341次閱讀
     <b class='flag-5'>K8S</b><b class='flag-5'>學習</b>教程一:使用<b class='flag-5'>PetaExpress</b>云服務器安裝Minikube 集群

    K8s容器debug高級技巧

    如果您在 Kubernetes 上運行軟件,您會想要在某些時候去調試您所部署的軟件的一些方面。對于習慣于使用虛擬機 (VMs) 的人來說能自然使用的一種簡單的調試方法,就是連接到一個正在運行的 pod。
    的頭像 發表于 01-12 11:31 ?536次閱讀

    KubeCASH:基于軟硬件融合的容器管理平臺

    、CSI、CDI等接口都奉行一個重要的原則:“不做事,就不會犯錯”。K8S可以理解成嵌于整個軟硬件堆棧的一個薄層,僅僅提供硬件到容器環境的一個接入。至于具體的軟硬件交互接口和機制、硬件加速器的系統架構和實現、如何把硬件性能和性能
    的頭像 發表于 01-08 10:16 ?1226次閱讀
    KubeCASH:基于軟硬件融合的<b class='flag-5'>容器</b>管理平臺

    K8S落地實踐經驗分享

    k8s 即 Kubernetes,是一個開源的容器編排引擎,用來對容器化應用進行自動化部署、 擴縮和管理。
    的頭像 發表于 01-02 11:45 ?1042次閱讀
    <b class='flag-5'>K8S</b>落地實踐經驗分享