攜程 Apollo 配置中心 | 學習筆記(六) | 詳細介紹攜程Apollo配置中心部署至Kubernetes叢集中
專欄目錄:
歡迎關注個人公眾號: Coder程式設計
歡迎關注個人網站:www.52melrin.com
以上為之前寫的攜程Apollo配置中心相關文章,有需要,請自行查閱
接下來將介紹攜程Apollo配置中心部署至Kubernetes叢集中
注意:這裡需要有一定的Kubernetes相關知識,和搭建好的環境。
一、環境準備
這裡就不過多介紹環境相關內容了,跟之前的類似。這裡需要準備好Kubernetes的相關環境,如何搭建的,可以參考Kubernetes 1.9.0離線安裝
一、修改配置檔案
接上一篇文章,修改部分檔案docker-compose.yml
上述內容就不做過多介紹了。version: "3" services: apollo-configservice: ##容器服務名 container_name: apollo-configservice ##容器名 build: apollo-configservice/ ##Dockerfile路徑 image: xx/third_party/apollo-configservice:0.10.8 ##映象名 network_mode: host ##網路設定 ports: - "30080:30080" volumes: - "/Users/mobin/opt/logs/100003171:/opt/logs/100003171" ##將/opt/logs/100003171目錄掛載到宿主機的/Users/mobin/opt/logs/100003171方便在宿主機上檢視日誌 environment: - spring_datasource_url=jdbc:mysql://xxxx:xx/ApolloConfigDB?characterEncoding=utf8 - spring_datasource_username=root - spring_datasource_password=123456 apollo-adminservice: container_name: apollo-adminservice build: apollo-adminservice/ image: xxx/third_party/apollo-adminservice:0.10.8 network_mode: host #net: "host" ports: - "30090:30090" depends_on: - apollo-configservice volumes: - "/Users/mobin/opt/logs/100003172:/opt/logs/100003172" environment: - spring_datasource_url=jdbc:mysql://xxxx:xx/ApolloConfigDB?characterEncoding=utf8 - spring_datasource_username=root - spring_datasource_password=123456 apollo-portal: container_name: apollo-portal build: apollo-portal/ image: xxxx/third_party/apollo-portal:0.10.8 network_mode: host #net: "host" ports: - "30070:30070" depends_on: - apollo-adminservice #links: # - apollo-adminservice # - apollo-configservice volumes: - "/Users/mobin/opt/logs/100003173:/opt/logs/100003173" environment: - spring_datasource_url=jdbc:mysql://xxxx:xx/ApolloPortalDB?characterEncoding=utf8 - spring_datasource_username=root - spring_datasource_password=123456 - dev_meta=http://xxxx:30080
之後使用Kompose將docker-compose檔案轉換成kubernetes相關檔案。這裡就不一一列舉了。直接放檔案!
kubernetes.yml
apiVersion: extensions/v1beta1 kind: Deployment metadata: annotations: kompose.cmd: kompose convert kompose.version: 1.11.0 (39ad614) creationTimestamp: null labels: io.kompose.service: apollo-configservice name: apollo-configservice spec: replicas: 1 strategy: type: Recreate template: metadata: creationTimestamp: null labels: io.kompose.service: apollo-configservice spec: #hostNetwork: true containers: - env: - name: spring_datasource_password value: "123456" - name: spring_datasource_url value: jdbc:mysql://xxxx:xx/apolloconfigdb?useUnicode=true&characterEncoding=utf8 - name: spring_datasource_username value: root image: x.x.x.x/third_party/apollo-configservice:0.10.1 name: apollo-configservice ports: - containerPort: 30080 resources: {} volumeMounts: - mountPath: /opt/logs/100003171 name: apollo-configservice volumes: - name: apollo-configservice hostPath: path: /u03/apollo/logs/100003171 status: {} --- apiVersion: v1 kind: Service metadata: annotations: kompose.cmd: kompose convert kompose.version: 1.11.0 (39ad614) creationTimestamp: null labels: io.kompose.service: apollo-configservice name: apollo-configservice spec: type: NodePort ports: - name: "http" port: 30080 targetPort: 30080 nodePort: 30080 selector: io.kompose.service: apollo-configservice status: loadBalancer: {} --- apiVersion: extensions/v1beta1 kind: Deployment metadata: annotations: kompose.cmd: kompose convert kompose.version: 1.11.0 (39ad614) creationTimestamp: null labels: io.kompose.service: apollo-adminservice name: apollo-adminservice spec: replicas: 1 strategy: type: Recreate template: metadata: creationTimestamp: null labels: io.kompose.service: apollo-adminservice spec: #hostNetwork: true containers: - env: - name: spring_datasource_password value: "123456" - name: spring_datasource_url value: jdbc:mysql://x.x.x.x:xx/apolloconfigdb?useUnicode=true&characterEncoding=utf8 - name: spring_datasource_username value: root image: x.x.x.x:xx/third_party/apollo-adminservice:0.10.8 name: apollo-adminservice ports: - containerPort: 30090 resources: {} volumeMounts: - mountPath: /opt/logs/100003172 name: apollo-adminservice volumes: - name: apollo-adminservice hostPath: path: /u03/apollo/logs/100003172 status: {} --- apiVersion: v1 kind: Service metadata: annotations: kompose.cmd: kompose convert kompose.version: 1.11.0 (39ad614) creationTimestamp: null labels: io.kompose.service: apollo-adminservice name: apollo-adminservice spec: type: NodePort ports: - name: "http" port: 30090 targetPort: 30090 nodePort: 30090 selector: io.kompose.service: apollo-adminservice status: loadBalancer: {} --- apiVersion: extensions/v1beta1 kind: Deployment metadata: annotations: kompose.cmd: kompose convert kompose.version: 1.11.0 (39ad614) creationTimestamp: null labels: io.kompose.service: apollo-portal name: apollo-portal spec: replicas: 1 strategy: type: Recreate template: metadata: creationTimestamp: null labels: io.kompose.service: apollo-portal spec: #hostNetwork: true containers: - env: - name: dev_meta value: http://x.x.x.x:30080 - name: spring_datasource_password value: "123456" - name: spring_datasource_url value: jdbc:mysql://x.x.x.x:xx/apolloportaldb?useUnicode=true&characterEncoding=utf8 - name: spring_datasource_username value: root image: x.x.x.x/third_party/apollo-portal:0.10.8 name: apollo-portal ports: - containerPort: 30070 resources: {} volumeMounts: - mountPath: /opt/logs/100003173 name: apollo-portal volumes: - name: apollo-portal hostPath: path: /u03/apollo/logs/100003173 status: {} --- apiVersion: v1 kind: Service metadata: annotations: kompose.cmd: kompose convert kompose.version: 1.11.0 (39ad614) creationTimestamp: null labels: io.kompose.service: apollo-portal name: apollo-portal spec: type: NodePort ports: - name: "http" port: 30070 targetPort: 30070 nodePort: 30070 selector: io.kompose.service: apollo-portal status: loadBalancer: {}
以上為kubernetes啟動檔案。根據個人需要作出相應修改!
啟動檔案後,會發現客戶端報一個錯誤:client端連線的是Kubernetes內網ip 10.x.x.x 導致apollo port端無法找到admin和config。
這時候需要修改apollo-adminservice 、apollo-configservice 中的 bootstrap.yml檔案。
apollo-adminservice 中的bootstrap.yml檔案修改同apollo-configservice
這裡新增某一個kubernetes的外網ip地址,以及暴露的埠號。之後重新打包成映象,上傳至harbor 映象庫。重新執行上面的kubernetes.yaml檔案。
即可看到成功部署,這裡就不放圖了。。。
相關推薦
攜程 Apollo 配置中心 | 學習筆記(六) | 詳細介紹攜程Apollo配置中心部署至Kubernetes叢集中
專欄目錄:歡迎關注個人公眾號: Coder程式設計歡迎關注個人網站:www.52melrin.com以上為之前寫的攜程Apollo配置中心相關文章,有需要,請自行查閱接下來將介紹攜程Apollo配置中心部署至Kubernetes叢集中注意:這裡需要有一定的Kubernete
攜程 Apollo 配置中心 | 學習筆記(五) | 詳細介紹攜程Apollo配置中心部署至Docker容器
一、Apollo配置中心介紹 關於攜程apollo配置中心的介紹,官網和網上都有許多教程,這裡我放下之前我寫的,如果有不瞭解的可以先看這些文章。二、環境準備 Java Jdk 1.8、Maven 3.3.9、Apollo版本 0.10.1
F28335 ePWM計數模組(CC)與 動作模組(AC)及其暫存器配置 ————TMS320F28335學習筆記(六)
1 計數比較模組 1.1 計數比較模組作用 計數比較模組是以時基計數器的值作為輸入,與比較暫存器CMPA和CMPB不斷進行比較的,當時基計數器的值等於其中之一時,就會產生相應的事件。 F28335就是通過對比這些值,來產生事件,與動作模組AC相配合來調節PWM的佔空比以及頻率。 補充:採
學習筆記(六)ubuntu16.04下Sublime Text3配置anaconda和tensorflow
注:本文非標準教程,僅是總結個人學習過程,可能存在紕漏,如有錯誤之處歡迎留言告知,非常感謝 上一篇學習筆記是使用IPYTHON去編譯tensorflow,但是我沒有圖形化介面實在不習慣,於是下了很多 IDE嘗試去編譯tensorflow,但是一律都是
mybatis學習筆記(六)使用generator生成mybatis基礎配置程式碼和目錄結構
建立maven專案 <span style="font-size:14px;"><project xmlns="http://maven.apache.org/POM/4.0.0"
Kubernetes學習筆記(六):使用ConfigMap和Secret配置應用程式
## 概述 本文的核心是:如何處理應用程式的資料配置。 配置應用程式可以使用以下幾種途徑: - 向容器傳遞命令列引數 - 為每個容器配置環境變數 - 通過特殊的卷將配置檔案掛載到容器中 ## 向容器傳遞命令列引數 在Kubernetes中定義容器時,映象的ENTRYPOINT和CMD都可以被覆蓋(但是在Do
攜程 Apollo 配置中心 | 學習筆記(七) | 如何將配置檔案敏感資訊加密?
以上為相關係列文章通過上述文章,相信我們的環境基本搭建完成!下面,我們將瞭解如何對存放在apollo配置中心的檔案進行脫敏處理。一、需求 當我們把我們專案中的所有配置資訊,都放入到apollo配置中心時,可能存在一些敏感配置資訊,不方便讓其他人檢視到。這時候我們就需要對我
攜程 Apollo 配置中心 | 學習筆記(十) 如何從Apollo配置中心獲取實時更新配置資訊(熱釋出)?
本章將介紹Apollo配置中心的熱釋出。其實在第九章就有提到Apollo配置中心提供的熱釋出,及實時獲取最新配置資訊。通過API的方式獲取API 方式 API方式靈活,功能完備,配置值實時更新(熱釋出),支援所有Java環境。TestController4.java@
攜程 Apollo 配置中心 | 學習筆記(十三)| 如何將日誌配置檔案放入到Apollo配置中心並支援熱更新?
本章將介紹如何將日誌配置檔案放入到Apollo配置中心並支援熱更新專欄目錄:歡迎關注個人公眾號: Coder程式設計歡迎關注個人網站:www.52melrin.com需求 日誌模組是每個專案中必須的,用來記錄程式執行中的相關資訊。一般在開發環境下使用DEBUG級別的
攜程 Apollo 配置中心 | 學習筆記(八) | 如何將本地多語言(國際化)配置檔案遷移至Apollo配置中心?
本章將介紹如何將本地的多語言配置檔案,遷移到Apollo配置中心裡面。專欄目錄:歡迎關注個人公眾號: Coder程式設計歡迎關注個人網站:www.52melrin.com注:本章不介紹環境,如果環境未搭建成功的可以在專欄中找到相關環境。一、需求 將本地的多語言(國際化
攜程 Apollo 配置中心 | 學習筆記(三) 自定義Spring Boot專案通過配置中心啟動專案
一、前言二、專案搭建 2.1 建立Spring Boot專案 因為專案用的是Eureka作為服務註冊與發現,因此這裡我加入了Eureka Client的依賴pom.xml檔案 <dependency> <grou
攜程 Apollo 配置中心 | 學習筆記(一) Apollo配置中心簡單介紹
本章將介紹如何在Apollo配置中心中刪除已經發布的專案。專欄目錄:歡迎關注個人公眾號: Coder程式設計歡迎關注個人網站:www.52melrin.com一、前言 之前一直學習SpringCloud, 對於配置中心,一直也是採用的Spring Cloud Con
Nginx 學習筆記(六)引入線程池 性能提升9倍
連接 驅動 .com 任務隊列 spa 情況下 .html 統架構 href 原文地址:https://www.cnblogs.com/shitoufengkuang/p/4910333.html 一、前言 1、Nignx版本:1.7.11 以上 2、NGINX采用了異步、
Python第十周 學習筆記(2)_多線程
學習筆記多線程 並發 concurrency 同一時間內出現多個請求,高並發就是短時間內出現大量請求 並行 parallel 並行是解決並發的一個方法 並發的解決 食堂打飯模型 1、隊列、緩沖區 queue(或LifoQueue、PriorityQueue)先進先出緩沖區(排隊打飯),可以
F28335 ePWM時基模組(TB)及其 暫存器配置————TMS320F28335學習筆記(五)
1 時基模組 TB 組成及工作原理簡介 每個PWM模組都有自己的時基單元,這決定了每個PWM模組的時序,時基模組的作用: 確定PWM的週期或頻率 管理當前ePWM模組和其他ePWM模組的相位,以此保持各個ePWM模組的同步性 設定時基計數器的計數方式,是增計數(up)
shiro學習筆記(7)--cacheManager、sessionManager、rememberMe配置
1、授權:在自定義realm的doGetAuthorizationInfo方法中讀取使用者許可權並授權 @Override protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection pri
springmvc學習筆記(33)——SimpleMappingExceptionResolver異常對映 XML檔案配置
SimpleMappingException異常對映 當異常發生時,我們可以將它對映到我們指定的介面 在springmvc中配置 <!-- 配置使用 SimpleMappingExceptionResolver 來對映異常 -->
Spring4學習筆記(八):通過註解的方式配置bean和@Autowired 自動裝配
在 classpath 中掃描元件 元件掃描(component scanning): Spring 能夠從 classpath 下自動掃描, 偵測和例項化具有特定註解的元件. 特定元件包括:
大資料學習筆記(六)-Spark環境配置
Spark配置: spark-env配置: export SPARK_MASTER_IP=hadoop000 slaves配置: hadoop000 調整Spark-shell的日誌輸出級別: conf/log4j.propert
Maven學習筆記(一)-Maven安裝與環境變數配置
一、下載Maven 官網地址:http://maven.apache.org/ 去官網上下載最新的maven. 然後解壓到安裝目錄中,這裡我直接解壓到D盤,如圖所示是maven安裝包的目錄結構。 二、安裝Maven 配置mave