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

歡迎光臨散文網(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程序連接的評論 (共 條)

分享到微博請遵守國家法律
平山县| 冕宁县| 泰和县| 博乐市| 潮安县| 保山市| 拉萨市| 呼伦贝尔市| 定襄县| 长沙市| 广河县| 安阳市| 临沂市| 郎溪县| 曲沃县| 贵德县| 安陆市| 吉水县| 原平市| 清河县| 清徐县| 皋兰县| 内乡县| 邵武市| 安达市| 和政县| 巴里| 石泉县| 扶绥县| 肇州县| 凉城县| 台东市| 济源市| 天镇县| 纳雍县| 湖州市| 麦盖提县| 宣恩县| 盈江县| 涞源县| 常熟市|