最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

學習日志 211227 k8s上安裝elasticsearch

2021-12-27 18:13 作者:mayoiwill  | 我要投稿

安裝測試用elastic search

===================


# 211227

# 背景

- 一個網(wǎng)站的基本功能就是信息的匹配

- 信息由發(fā)布者發(fā)布后, 使用者要能找到這些信息

- 這種匹配可以由多種方式實現(xiàn)

- 基于搜索引擎的信息匹配方式是最常用的

- elastic search是常用的開源解決方案

- 基于k8s的elastic search集群安裝是elastic search常用的運維方案


# 目標

- 在我們的測試集群中 搭建elastic search

- 同上, 搭建kibana管理工具

? - kibana是elastic stack推薦的elastic search管理工具

? - 面向開發(fā)和運維


# 安裝elastic search測試集群


## 創(chuàng)建CRD

- 參考

? - https://www.elastic.co/guide/en/cloud-on-k8s/current/k8s-deploy-eck.html

- CRD即custom resource definitions

? - 用戶自定義資源

? - 比如之前介紹的pods StatefulSet 都是k8s內(nèi)置的資源類型

? - 在此之上, 也可以自定義資源類型, 并基于這種資源類型

? ? - 編寫k8s描述文件

? ? - 執(zhí)行kubectl指令 如get

? - 自定義資源也是基于已有的資源的

? ? - 創(chuàng)建自定義資源時, 往往會同時創(chuàng)建pods service等

- 同時, 還可以為自定義的資源類型創(chuàng)建對應(yīng)的管理角色

? - 細節(jié) 略

? - 測試環(huán)境我們只有一個管理員 有最高權(quán)限

- 具體步驟

? - 見參考文檔即可 略


## 創(chuàng)建elastic search測試集群

- 參考

? - https://www.elastic.co/guide/en/cloud-on-k8s/current/k8s-deploy-elasticsearch.html

- 具體步驟

? - 如下


### 編寫基于自定義資源類型 Elasticsearch 的描述文件

- 描述文件原文


```

apiVersion: elasticsearch.k8s.elastic.co/v1

kind: Elasticsearch

metadata:

? name: quickstart

spec:

? version: 7.16.2

? nodeSets:

? - name: default

? ? count: 1

? ? config:

? ? ? node.store.allow_mmap: false

```


- 解釋 描述文件

? - 資源類型 Elasticsearch

? ? - 這個資源類型即上一步創(chuàng)建的CRD

? ? - 注意這里E是大寫 但在kubectl命令行中使用時e小寫

? - name quickstart

? ? - 這個name實際上還會作為對應(yīng)的基本資源如pod和service的前綴使用

? ? - 見下

? - version 版本

? ? - 這里用了比較新的7.16.2

? ? - elastic search的版本更新還是很快的

? - nodeSets

? ? - Elasticsearch 資源類型是一個集群的概念

? ? - Elasticsearch 資源和pod資源是1對多的關(guān)系

? ? - 這里暗示了es和nodeSet也是1對多的關(guān)系

? ? - 但是此處只創(chuàng)建了一個nodeSet

? ? - 該nodeSet里 count是1 表示只需要一個pod

? ? - 該pod的規(guī)格沒有指定

? ? - 但實際上有一系列的默認值 比如有一個1G的pvc見下

? - config allow_mmap: false

? ? - 這個設(shè)置關(guān)閉了es的mmap功能

? ? - 該功能非常消耗內(nèi)存 但可以提高性能

? ??

### apply 該描述文件


### 檢查結(jié)果

- `kubectl get elasticsearch`

? - 注意 HEALTH 字段

? - 該字段的取值 參考

? - https://www.elastic.co/guide/en/elasticsearch/reference/7.16/cluster-health.html

- `kubectl get pods --selector='elasticsearch.k8s.elastic.co/cluster-name=quickstart'`

? - 注意這里在選取pod時 采用了CRD的自定義選擇器cluster-name

- `kubectl get service quickstart-es-http`

? - 這里檢查service則使用了基礎(chǔ)的按名字查的方式

? - 注意這個命字的格式, 除了前綴, `-es-http` 這個部分是固定的

? - 這是個ClusterIP類型的service 但是沒有外部IP

- 獲取密碼

? - 新版的es都默認開了要密碼

? - 用戶名默認是 elastic

? - 密碼按如下命令

? - `kubectl get secret quickstart-es-elastic-user -o go-template='{{.data.elastic | base64decode}}'`

? - 顯然 這個secret也是CRD所屬的基礎(chǔ)資源之一

? - 拿到我們的es密碼 復(fù)制一下 下文以`$PASSWORD`表示

- 檢查服務(wù)

? - k8s集群內(nèi) 域名使用 svc 名 即

? - `curl -u "elastic:$PASSWORD" -k "https://quickstart-es-http:9200"`

? - 端口為9200

? - `-k` 表示不做證書校驗?

? - 顯然目前的quickstart集群的是用了自簽名證書來支持https協(xié)議

? - 集群外需要kubectl的port-forward

? - 我們先略過這塊 因為我們的開發(fā)機win10沒有裝好curl工具

? - 下一步裝完kibana直接用kibana的界面

- 檢查存儲

? - 查看 pvc 結(jié)果 多了一個

? - elasticsearch-data-quickstart-es-default-0

? - 用了1Gi的硬盤 先這樣吧

? - 注意k8s的硬盤容量單位 Gi和M


## 創(chuàng)建kibana管理實例

- 參考

? - https://www.elastic.co/guide/en/cloud-on-k8s/current/k8s-deploy-kibana.html


### 編寫 kibana 描述文件

- 原文


```

apiVersion: kibana.k8s.elastic.co/v1

kind: Kibana

metadata:

? name: quickstart

spec:

? version: 7.16.2

? count: 1

? elasticsearchRef:

? ? name: quickstart

```


- 解釋

? - kind 這里又是一種新的CRD資源類型 Kibana

? - 和Elasticsearch一樣, 該資源類型也可以使用kubectl get

? - version

? - count: 1

? ? - 可見kibana也可以做成集群

? ? - 這里和es不同 es是每個nodeSet都有一個count

? ? - kibana只有一個count

? ? - 可見kibana是一整個集群

? - elasticsearchRef

? ? - 需要管理的es集群的名字

? ? - 可見CRD是環(huán)環(huán)相套的

? ? - kibana這種資源類型可以基于elasticsearch資源類型來創(chuàng)建


### apply -f


### 檢查

- 檢查kibana

? - `kubectl get kibana`

? - HEALTH 是 red 見 Q&A 1

? - 要點通過describe node可以檢查資源使用情況

? - 解決完上述問題 再檢查 green 了

- 檢查pod

? - `kubectl get pod --selector='kibana.k8s.elastic.co/name=quickstart'`

- 檢查service

? - `kubectl get service quickstart-kb-http`

? - 這次也是ClusterIP類型 (內(nèi)部服務(wù))

- 通過http使用

? - 端口代理

? - `kubectl port-forward service/quickstart-kb-http 5601`

? - 訪問 `https://localhost:5601/`

? - 接受https證書(忽略告警)

? - 需要登錄 之前創(chuàng)建elasticsearch集群時有說

? ? - 帳號是elastic

? ? - 密碼通過之前說的指令獲取 即

? ? - `kubectl get secret quickstart-es-elastic-user -o go-template='{{.data.elastic | base64decode}}'`

? - 密碼本質(zhì)上是一個k8s secret

? - 跳過引導(dǎo)

? - 左側(cè)三橫菜單 滾到下面找到dev tools

? - 執(zhí)行 `GET /`

? - 結(jié)果 與上一篇教程直接 curl 到 elasticsearch集群上的結(jié)果是一樣的

? - 類似

? ? ```

? ? {

? ? ? "name" : "quickstart-es-default-0",

? ? ? "cluster_name" : "quickstart",

? ? ? "cluster_uuid" : "KhQi5J-KR4O8_MWxvhzeTg",

? ? ? "version" : {

? ? ? ? "number" : "7.16.2",

? ? ? ? "build_flavor" : "default",

? ? ? ? "build_type" : "docker",

? ? ? ? "build_hash" : "2b937c44140b6559905130a8650c64dbd0879cfb",

? ? ? ? "build_date" : "2021-12-18T19:42:46.604893745Z",

? ? ? ? "build_snapshot" : false,

? ? ? ? "lucene_version" : "8.10.1",

? ? ? ? "minimum_wire_compatibility_version" : "6.8.0",

? ? ? ? "minimum_index_compatibility_version" : "6.0.0-beta1"

? ? ? },

? ? ? "tagline" : "You Know, for Search"

? ? }

? ? ```

? - 明天繼續(xù)


### Q&A

- Q: kibana集群HEALTH是red

- A: 檢查pods 發(fā)現(xiàn)對應(yīng) quickstart-kb-75dc58678b-lstdz 狀態(tài)是pending

? - 懷疑集群資源不夠

? - 檢查node使用情況

? - `kubectl describe node`

? - 發(fā)現(xiàn)cpu requests 97% (只有2個cpu, 即2000m, m表示千分之一個cpu)

? - memory還有剩余

? - 檢查所有cpu使用者 發(fā)現(xiàn)之前兩個mysql實例都是500m

? - 發(fā)現(xiàn)新創(chuàng)建的elasticsearch才用了100m

? - 把mysql的cpu使用調(diào)整為100m

? - 修改描述文件 cpu request和limit都寫0.1 重新apply -f

- Q: 執(zhí)行上一步操作時 mysql對應(yīng)的pod重建失敗

- A: 檢查pod

? - `kubectl describe pods mycluster-mysql-1`

? - 注意不是logs指令 現(xiàn)在pod本身沒創(chuàng)建出來 看logs沒什么東西

? - 發(fā)現(xiàn)報錯mysql-pass這個secret不存在

? - 列出secret `kubectl get secret`

? - 發(fā)現(xiàn)名字變成了 mysql-pass-78h9g286gm 后面多了串東西

? - 不知道什么原因 可能和之前有重新minikube start有關(guān)

? - 修改描述文件, 把secretKeyRef部分改為mysql-pass-78h9g286gm

? - 重新apply -f

? - 刪除掛掉的pod

? - 系統(tǒng)自動完成了mysql兩個節(jié)點的重部署

? - 檢查數(shù)據(jù)還在不在

? - `http://192.168.2.15:31000/doc/_list`

? - 還是三條數(shù)據(jù)

============

由于es官網(wǎng)的網(wǎng)絡(luò)問題?暫時沒有好的解決辦法?今天沒能直播只是自己裝了一下

明天繼續(xù)直播es的基本使用

學習日志 211227 k8s上安裝elasticsearch的評論 (共 條)

分享到微博請遵守國家法律
明水县| 平南县| 吉林省| 唐海县| 永和县| 印江| 延边| 阳城县| 皮山县| 德阳市| 德庆县| 香格里拉县| 滨州市| 封开县| 若羌县| 昌黎县| 凤台县| 含山县| 山东省| 马关县| 清原| 康保县| 宣城市| 南安市| 福鼎市| 当涂县| 潜江市| 铜陵市| 周宁县| 敖汉旗| 遂平县| 新沂市| 临漳县| 翁源县| 七台河市| 招远市| 石家庄市| 汉川市| 阜新市| 南平市| 巴楚县|