<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                * 免費Kubernetes 教程,絕不降低品質 * [![kuboard for kubernetes (k8s)](https://pub.idqqimg.com/wpa/images/group.png "kuboard for kubernetes (k8s)")](https://shang.qq.com/wpa/qunwpa?idkey=a2d64aa5f578fe885fce065b242afbb12eeb804a67a552f996584b464277303a)在線答疑,也可以掃描左側導航下方的二維碼加群 # 在K8S上部署mysql OCP 的 auth-server 和 user-center 都有自己的數據庫,同時 auth-server、user-center 和 api-gateway 又都依賴于 redis 緩存服務 和 log-center 數據庫。這使得我們的部署結構演變成下圖所示: 我們必須先完成 db-auth-center、db-user-center、db-log-center 和 redis 的部署,才能繼續部署 auth-server 和 user-center。本文描述了如何部署 db-auth-center、db-user-center、db-log-center。 將 mysql 部署到 K8S 中,可以非常便捷地搭建一套測試環境,但是,在生產環境里,并不建議直接將 mysql 部署到 K8S 上。 ![Kubernetes教程:在K8s上部署MySQL/Redis](https://kuboard.cn/assets/img/image-20190928183401521.11addc34.png) ## 構建并推送mysql鏡像 OCP 要求 mysql 版本 5.7 以上,當我們在 K8S 上部署 mysql 時,將選擇[mysql 官方鏡像](https://hub.docker.com/_/mysql)并基于此鏡像,構建自己的 mysql 鏡像,以便: * 把數據庫初始化腳本打包到鏡像中 * 這樣每次部署一個新的 mysql 實例時,可以自動初始化 OCP 所需要的表結構 * 把自定義的數據庫配置文件 my.cnf 打包到鏡像中 * 設置環境變量本文檔不涉及 ### auth-center-mysql * 在 master 節點上,執行命令`cd /root/open-capacity-platform/sql`切換當前目錄。 > 假設您已經完成了[準備OCP的構建環境和部署環境](https://kuboard.cn/learning/k8s-practice/ocp/prepare.html) * 執行命令`vim auth-center-my.cnf`以創建文件,其內容如下: 此配置用于解決 mysql 使用時的亂碼問題。 ~~~ [mysqld] init_connect='SET collation_connection = utf8_unicode_ci' init_connect='SET NAMES utf8' character-set-server=utf8 collation-server=utf8_unicode_ci skip-character-set-client-handshake ~~~ * 執行命令`vim dockerfile_auth-center`以創建文件,其內容如下: ~~~ FROM mysql:5.7.26 ADD auth-center-my.cnf /etc/mysql/conf.d/my.cnf ADD 02.oauth-center.sql /docker-entrypoint-initdb.d/02.oauth-center.sql EXPOSE 3306 ~~~ * 執行命令`docker build -f dockerfile_auth-center -t ocpsample/auth-center-mysql:latest .` 如果使用私有倉庫,則應該按照如下格式填寫鏡像名: my-registry.example.com:5000/example/auth-center-mysql:latest * 藍色部分:registry 地址 * 綠色部分:registry 端口 * 紫色部分:repository 名字 * 紅色部分:image 名字 * 棕色部分:image 標簽 * 執行命令`docker login`登錄鏡像倉庫 * 執行命令`docker push ocpsample/auth-center-mysql:latest` 大約2-5分鐘,可完成鏡像推送 ### [#](https://kuboard.cn/learning/k8s-practice/ocp/mysql.html#user-center-mysql)user-center-mysql * 在 master 節點上,執行命令`cd /root/open-capacity-platform/sql`切換當前目錄。(與上一個步驟目錄相同) * 執行命令`vim user-center-my.cnf`以創建文件,其內容如下: ~~~ [mysqld] init_connect='SET collation_connection = utf8_unicode_ci' init_connect='SET NAMES utf8' character-set-server=utf8 collation-server=utf8_unicode_ci skip-character-set-client-handshake ~~~ * 執行命令`vim dockerfile_user-center`以創建文件,其內容如下: ~~~ FROM mysql:5.7.26 ADD user-center-my.cnf /etc/mysql/conf.d/my.cnf ADD 01.user-center.sql /docker-entrypoint-initdb.d/01.user-center.sql EXPOSE 3306 ~~~ 1 2 3 4 SQL腳本問題 01.user-center.sql 腳本中包含一些 create FUNCTION 的語句,已經確認這些 FUNCTION 并不被用到。在執行 coker build 之前,請確保這些 create FUNCTION 的語句被刪除,否則您將在 mysql 初始化時碰到如下錯誤: ~~~ ERROR 1064 (42000) at line 246: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 3 ~~~ 1 * 執行命令`docker build -f dockerfile_user-center -t ocpsample/user-center-mysql:latest .` * 執行命令`docker push ocpsample/user-center-mysql:latest` 大約 20 秒,可完成鏡像推送 ### log-center-mysql * 在 master 節點上,執行命令`cd /root/open-capacity-platform/sql`切換當前目錄。(與上一個步驟目錄相同) * 執行命令`vim log-center-my.cnf`以創建文件,其內容如下: ~~~ [mysqld] init_connect='SET collation_connection = utf8_unicode_ci' init_connect='SET NAMES utf8' character-set-server=utf8 collation-server=utf8_unicode_ci skip-character-set-client-handshake ~~~ 1 2 3 4 5 6 7 * 執行命令`vim dockerfile_log-center`以創建文件,其內容如下: ~~~ FROM mysql:5.7.26 ADD log-center-my.cnf /etc/mysql/conf.d/my.cnf ADD 05.log-center.sql /docker-entrypoint-initdb.d/05.log-center.sql EXPOSE 3306 ~~~ * 執行命令`docker build -f dockerfile_log-center -t ocpsample/log-center-mysql:latest .` * 執行命令`docker push ocpsample/log-center-mysql:latest` 大約 20 秒,可完成鏡像推送 ## [#](https://kuboard.cn/learning/k8s-practice/ocp/mysql.html#部署mysql)部署mysql ### [#](https://kuboard.cn/learning/k8s-practice/ocp/mysql.html#部署auth-center-mysql)部署auth-center-mysql * 在 Kuboard 界面中進入`ocp`名稱空間 * 點擊**創建工作負載**按鈕 填寫表單,如下圖所示: | 字段名稱 | 填寫內容 | 說明 | | --- | --- | --- | | 服務類型 | StatefulSet | | | 服務分層 | 持久層 | | | 服務名稱 | auth-center | | | 服務描述 | 認證中心數據庫 | | | 副本數量 | 1 | 請填寫1 | | 容器名稱 | auth-center-mysql | | | 鏡像 | ocpsample/auth-center-mysql:latest | | | 抓取策略 | Always | | | 環境變量 | MYSQL\_ROOT\_PASSWORD=root | 參考[mysql官方鏡像](https://hub.docker.com/_/mysql) | | Service | ClusterIP(集群內訪問) 協議:`TCP`服務端口:`3306`容器端口:`3306` | | 持久化 * 將 mysql 的容器內路徑`/var/lib/mysql`映射到外部數據卷,可以使數據持久保存,請參考[數據卷](https://kuboard.cn/learning/k8s-intermediate/persistent/volume.html) * 為了保持教程的簡潔,此處并沒有為`auth-center-mysql`掛載外部存儲,存入 mysql 的數據在每次容器重啟后都將丟失,并重新執行初始化腳本`02.auth-center.sql` 訪問方式 為該 StatefulSet 配置了 ClusterIP(集群內訪問)的訪問方式,Kuboard 將創建一個與 StatefulSet 同名(db-auth-center)的 Kubernetes Service。您可以在集群內同名稱空間`ocp`下任何容器組中通過`db-auth-center:3306`訪問`auth-center-mysql`數據庫,用戶名為 root,密碼為 root。 參考[Service連接應用程序](https://kuboard.cn/learning/k8s-intermediate/service/connecting.html) ![Kubernetes教程:在K8S上部署mysql](https://kuboard.cn/assets/img/image-20190927173409339.b1d0d305.png) * 點擊**保存** * 點擊**應用** * 點擊**完成** ### [#](https://kuboard.cn/learning/k8s-practice/ocp/mysql.html#驗證auth-center-mysql)驗證auth-center-mysql * 在 Kuboard 中進入`auth-center-mysql`的終端界面,執行如下命令: ~~~ mysql -uroot -proot > show databases; > use oauth-center; > show tables; ~~~ 1 2 3 4 * 可以驗證,oauth-center 的數據庫表結構已經完成初始化,輸出結果如下圖所示: ![Kubernetes教程:在K8S上部署mysql_驗證結果](https://kuboard.cn/assets/img/image-20190927173921129.e25a197a.png) ### [#](https://kuboard.cn/learning/k8s-practice/ocp/mysql.html#部署user-center-mysql)部署user-center-mysql 按照同樣的方式部署 user-center-mysql,因此,本章節不在截圖,只將必要的步驟和參數進行羅列: * 點擊**創建工作負載**按鈕 * 填寫表單,如下表所示: | 字段名稱 | 填寫內容 | 說明 | | --- | --- | --- | | 服務類型 | StatefulSet | | | 服務分層 | 持久層 | | | 服務名稱 | user-center | | | 服務描述 | 用戶中心數據庫 | | | 副本數量 | 1 | 請填寫1 | | 容器名稱 | user-center-mysql | | | 鏡像 | ocpsample/user-center-mysql:latest | | | 抓取策略 | Always | | | 環境變量 | MYSQL\_ROOT\_PASSWORD=root | 參考[mysql官方鏡像](https://hub.docker.com/_/mysql) | | Service | ClusterIP(集群內訪問) 協議:`TCP`服務端口:`3306`容器端口:`3306` | | * 點擊**保存** * 點擊**應用** * 點擊**完成** ### [#](https://kuboard.cn/learning/k8s-practice/ocp/mysql.html#驗證user-center-mysql)驗證user-center-mysql * 在 Kuboard 中進入`user-center-mysql`的終端界面,執行如下命令: ~~~ mysql -uroot -proot > show databases; > use user-center; > show tables; ~~~ ### 部署log-center-mysql 按照同樣的方式部署 log-center-mysql,因此,本章節不在截圖,只將必要的步驟和參數進行羅列: * 點擊**創建工作負載**按鈕 * 填寫表單,如下表所示: | 字段名稱 | 填寫內容 | 說明 | | --- | --- | --- | | 服務類型 | StatefulSet | | | 服務分層 | 持久層 | | | 服務名稱 | log-center | | | 服務描述 | 日志中心數據庫 | | | 副本數量 | 1 | 請填寫1 | | 容器名稱 | log-center-mysql | | | 鏡像 | ocpsample/log-center-mysql:latest | | | 抓取策略 | Always | | | 環境變量 | MYSQL\_ROOT\_PASSWORD=root | 參考[mysql官方鏡像](https://hub.docker.com/_/mysql) | | Service | ClusterIP(集群內訪問) 協議:`TCP`服務端口:`3306`容器端口:`3306` | | * 點擊**保存** * 點擊**應用** * 點擊**完成** ### 驗證log-center-mysql * 在 Kuboard 中進入`log-center-mysql`的終端界面,執行如下命令: ~~~ mysql -uroot -proot > show databases; > use log-center; > show tables; ~~~ [![kuboard for kubernetes (k8s)](https://pub.idqqimg.com/wpa/images/group.png "kuboard for kubernetes (k8s)")](https://shang.qq.com/wpa/qunwpa?idkey=a2d64aa5f578fe885fce065b242afbb12eeb804a67a552f996584b464277303a)在線答疑 ![Kubernetes教程:QQ群在線答疑](https://kuboard.cn/images/kuboard_qq.png) [如果您覺得 Kubernetes教程 有幫到您,點擊此處,給個 Github Star,謝謝!](https://github.com/eip-work/kuboard-press)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看