0%

前言

因應近期專案需要將 MySQL 資料庫轉換成 PostgreSQL,我選擇使用 pgloader 作為轉換工具,但由於 Ubuntu 22.04 預設套件庫中沒有支援的版本,因此這篇紀錄手動安裝 pgloader 3.6.9 的過程,並解決依賴問題。

閱讀全文 »

前言

專案將 Laravel 的 QUEUE_CONNECTIONdatabase 切換到 redis,並透過 Supervisor 背景執行 queue worker。初始設定中,Redis driver 預設 retry_after 為 90 秒,導致工作常在執行 90 秒後被重新派發,並因多次重試而拋出 MaxAttemptsExceededException
log大致如下:

1
production.ERROR: App\Jobs\getApiCargoFormApiCompanion has been attempted too many times or run too long. The job may have previously timed out.

以下整理兩種解法。

閱讀全文 »

前言

近期在維護Ubuntu 機器內的 Laravel 專案時,執行 CLI 指令時出現以下 PHP 警告:

1
PHP Warning: Module 'pdo_sqlsrv' is already loaded in Unknown on line 0

此警告的意思是 pdo_sqlsrv 擴充套件被 PHP 重複載入了,雖然功能正常不影響使用,但每次執行都會跳警告,有點煩人😅

這邊紀錄一下排查與解決的過程,避免下次又踩雷。

閱讀全文 »

前言

先前在公司被分配到任務,需要透過google cloud cdn代理Kubernetes集群中的各種Web服務,包括前端和後端應用程式。

主要目的是隱藏Kubernetes集群的外部IP地址,以提高應用程式的安全性和可靠性。

閱讀全文 »

前言

架設網站或是服務之後,若是發現先前開的VM memory不夠服務使用

但又不想要增加多餘的預算調高VM的memory時

就可以透過swap-虛擬記憶體的功能

將一部分的硬碟空間當成memory來使用

閱讀全文 »

前言

cert-manager主要是用來在k8s上管理證書並且能夠自動更新證書

而config-syncer則可以跨namespace同步證書

一般來說每個namespace只能使用自己namespace底下的證書

但透過config-syncer可以將某個namespace的證書同步到其他的namespace

這樣就可以不用定期的去更換k8s的憑證了🎉

閱讀全文 »

前言

原本公司有一個dev環境

最近需要額外再開一個stage環境給同仁測試

k8s集群需要和dev環境分開了

所以需要另外再建一個新的集群

趁這次機會把建立的步驟記錄下來以免以後忘記😆

閱讀全文 »

前言

原本公司內部CI/CD的流程是Gitlab => K8s ,或是 Gitlab => Docker

近期由於工作上的需要,需要更改流程為Gitlab => Jenkins => K8s

本篇主要是紀錄Gitlab串接Jenkins,最後透過Jenkins部屬到K8s集群的流程。

閱讀全文 »