五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

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

學(xué)習(xí)日志 211222 部署自用mysql 并使用java程序連接

2021-12-22 17:44 作者:mayoiwill  | 我要投稿

# 211222

# zookeeper示例

- 同一個集群(此處是sts)可以映射給多個服務(wù)

? - 一般是不同端口

? - k8s描述文件中也可以使用command指令指定啟動命令

? ? - 和dockerfile的CMD的優(yōu)先級?

- 后半部分 略


# 部署自己的mysql集群

- 2個mysql實(shí)例 都是主 沒有備

- 每個實(shí)例給10G硬盤, 500m cpu, 內(nèi)存?

- 配一個headless 的service (即類型是clusterIP: None)

- 用secret做密碼 密碼就用 Mysql123

- 用kustomization.yaml技術(shù) 目錄是 mycluster


## 步驟

- 建目錄

- 復(fù)制 kustomization.yaml 進(jìn)目錄

- 修改secret, 密碼設(shè)成Mysql123

- 刪除wordpress行

- 復(fù)制mysql-deployment.yaml 進(jìn)目錄

- 修改app的label, 改為 mycluster

- mysql的服務(wù)名 mycluster-mysql

- pod controller的部分, 把kind改為 StatefulSet

- replicas: 2

- 原strategy部分替換為

? ```

? updateStrategy:

? ? type: RollingUpdate

? ```?

- password部分不動

- pvc template

? - 復(fù)制一個mysql-persistent-storage段落過來

? - 修改name

? - 刪除原pvc的資源申請

- 給statefulset增加serviceName 字段

? - 對應(yīng)報(bào)錯

? ? ```

? ? error: error validating ".\\mycluster\\": error validating data: ValidationError(StatefulSet.spec): missing required field "serviceName" in io.k8s.api.apps.v1.Stateful

? ? SetSpec; if you choose to ignore these errors, turn validation off with --validate=false

? ? ```

? - 理由 hostname依賴于serviceName(和無狀態(tài)集群不同)

? - 無狀態(tài)集群的名字是 deployment名字 + rs名字(版本) + podId

- 限制cpu使用 每個mysql實(shí)例使用半個cpu

? - 在containers下面增加如下語句

? ? ```

? ? ? ? resources:

? ? ? ? ? limits:

? ? ? ? ? ? cpu: "0.5"

? ? ? ? ? requests:

? ? ? ? ? ? cpu: "0.5"

? ? ```

- 重新apply -k


## 校檢

- 檢查pods

? - mycluster-mysql-0 mycluster-mysql-1

? - 都是Running狀態(tài)了

- 嘗試連接上去

? - 我們的service是headless service 無法從外部訪問

? - 也沒必要從外部訪問 內(nèi)部pod間使用hostname訪問

? - 現(xiàn)在只能 exec -- bash

? - `kubectl exec -ti mycluster-mysql-0 -- bash`

? - 上去執(zhí)行 mysql -u root -p

? - 密碼輸入Mysql123

? - 登錄成功 mysql正常運(yùn)行

- 檢查用其它pod訪問hostname的方式

? - mycluster-mysql-0

? - 嘗試用java程序?


## 用Java程序連接上述數(shù)據(jù)庫

- 在兩個mysql實(shí)例上都使用create database語句建testdb庫

? - 使用 -- bash

? - 細(xì)節(jié) 略

- 給springbootdemo工程增加mysql連接能力

- 直接引入mybatis starter 和 mysql驅(qū)動

? ```

? ? ? ? <dependency>

? ? ? ? ? ? <groupId>org.mybatis.spring.boot</groupId>

? ? ? ? ? ? <artifactId>mybatis-spring-boot-starter</artifactId>

? ? ? ? ? ? <version>2.2.0</version>

? ? ? ? </dependency>

? ? ? ? <dependency>

? ? ? ? ? ? <groupId>mysql</groupId>

? ? ? ? ? ? <artifactId>mysql-connector-java</artifactId>

? ? ? ? ? ? <version>8.0.25</version>

? ? ? ? </dependency>

? ```?

- 編寫applications.properties

? ```

? spring.datasource.url=jdbc:mysql://mycluster-mysql-0.mycluster-mysql:3306/testdb?useSSL=false&serverTimezone=UTC

? spring.datasource.username=root

? spring.datasource.password=Mysql123

? management.endpoint.health.show-details=always

? management.health.db.enabled=true

? endpoints.health.enabled=true

? endpoints.health.sensitive=false

? ```

? - spring.datasource相關(guān)的三項(xiàng)

? - 注意連接使用的hostname是 mycluster-mysql-0.mycluster-mysql

? - 即hostname.servicename 的格式

? - mybatis starter會自動啟動該默認(rèn)datasource

? - 后4項(xiàng)是要求之前引入過的actuator去輸出datasource的健康狀態(tài)

- 打包更新docker image

- 修改k8s描述文件

? - 使用latest版本的鏡像

? - 增加 imagePullPolicy: Always 在container 層

- 訪問 actuator 檢查 datasource 啟動情況?

? - http://192.168.2.15:31000/actuator/health

? - 有 `"db":{"status":"UP" ...`


### Q&A

- Q: mvn package 報(bào)錯 缺少mysql驅(qū)動類

- A: 引入 mysql-connector-java

? - 注意版本 用最新的就完了

- Q: k8s沒有更新image版本

- A: 加 imagePullPolicy: Always

- Q: actuator報(bào)db啟動失敗 連接不上

- A: StatefulSet 的內(nèi)部域名是 `<podname>.<servicename>` 的格式

? - 在本例中為 `mycluster-mysql-0.mycluster-mysql`

? - 不是 `mycluster-mysql-0`

- Q: 如何檢查內(nèi)部DNS解析紀(jì)錄

- A: `kubectl run -i --tty --image busybox:1.28 dns-test --restart=Never --rm`

? - `nslookup mycluster-mysql-0.mycluster-mysql`

? - exit退出時, 該臨時pod會被刪除 這種方式很適合用來搞些一次性的事情


學(xué)習(xí)日志 211222 部署自用mysql 并使用java程序連接的評論 (共 條)

分享到微博請遵守國家法律
淮北市| 定安县| 高安市| 长岛县| 安陆市| 临沧市| 台前县| 申扎县| 宝坻区| 铜川市| 财经| 千阳县| 离岛区| 东港市| 寿宁县| 五寨县| 鸡泽县| 成安县| 天祝| 那坡县| 泰兴市| 五峰| 英德市| 河西区| 新余市| 巧家县| 晋州市| 罗田县| 霍邱县| 榆林市| 临海市| 封丘县| 嘉峪关市| 西丰县| 叙永县| 昌都县| 从江县| 子长县| 岗巴县| 文安县| 广昌县|