當 xxl-job 遇上 docker → 它暈了,但我不能亂!

2022-12-12 12:01:18

開心一刻

  某次住酒店,晚上十點多叫了個外賣

  過了一陣兒,外賣到了

  因為酒店電梯要刷卡,所以我下樓去接

  到了電梯口看到個模樣不錯的妹紙

  我:是你麼?

  妹紙愣了下:嗯!

  於是拉上進電梯回房間,正準備開始呢

  我倆的電話同時響了

  按下接聽鍵,一男一女同時問:我到電梯口了,你人呢?

  尷尬了,取錯外賣了

  然後一起回電梯口,四個人一起上電梯,電梯裡非常尷尬

  我:呵呵,你的妹紙不錯

  他:呵呵,你也是

   xxl-job-executor 需要修改下設定

  用 服務名 替換具體的ip

  改完之後重新生成 xxl-job-executor 的映象 sample-executor-compose:1.2 

  然後以 docker-compose 進行編排部署, docker-compose.yml 內容如下

  我們來看下效果

  額,自動註冊好了!你們是不是愛上我了?

  etcd + flannel

  設定過程就不演示了,可參考:docker使用 Flannel(etcd+flannel)網路etcd安裝和所遇到的坑

  當IP情況類似如上所示,則說明設定成功了

  我們再來看看 xxl-job 的自動註冊

   xxl-job-executor 自動註冊的IP 10.10.96.2 , xxl-job-admin 可以正常排程 xxl-job-executor 

  k8s

   k8s 叢集搭建過程不是那麼簡單,但也不是很複雜;搭建好的叢集資訊如下

  在 k8s 叢集部署 xxl-job-admin 、 xxl-job-executor 成功後,我們來看下 xxl-job 的自動註冊

  如你所見,自動註冊是可以正常排程的!

  我們再來看下 xxl-job-admin 、 xxl-job-executor 所在節點

   sample-xxl-job-admin-56bb76f846-7rnmw 在節點 docker221 

   sample-xxl-job-executor-78c4997dd4-562hw 在節點 docker220 

  不在同一個節點哦!

總結

  1、三種方式(docker compose、etcd+flannel、k8s)選哪一種,需要結合具體情況來定

    如果想實現簡單點,那就選 docker compose 

    如果已經使用了 k8s ,那就用 k8s 方式就行了

    實現方式肯定還有其他的,比如 etcd + flannel 只是屬於打通內部網路的一種

  2、環境的搭建,樓主都省略了,有兩點目的

    2.1 考慮到篇幅問題,如果把搭建環境的詳細過程都加進來,整篇篇幅就太長了,擔心你們看的累

    2.2 希望大家都去嘗試搭建一下,受過傷才會刻骨銘心,樓主是深有感觸

    你們不要覺得我壞,我就是壞!!!