今年非常幸運可以在台北 DevOpsDay 給一場『輕量級 DevOps 平台: Gitea Platform』,這次分享主要是介紹輕量級 DevOps 平台,並且改善開發流程,讓開發者可以更快速的部署到生產環境。如果你使用過 GitHub Actions,那 Gitea DevOps 平台你一定不要錯過。Gitea 團隊在 2022 年底開始打造讓 Gitea 可以像是 GitHub 一樣使用 GitHub Actions,詳細的內容可以參考這篇文章。底下讓我們來看看怎麼使用 Gitea DevOps 平台。
[Read More]打造 MLOps 平台 改善 AI 模型開發流程 - 2023 台北雲端大會
很高興今年可以在台灣雲端大會 (CloudSummit) 給一場『打造 MLOps 平台改善 AI 模型開發流程』。這次分享主要是介紹如何打造 MLOps 平台,並且改善 AI 模型開發流程,讓開發者可以更快速的部署模型到生產環境。這次是 CloudSummit 第一次到南港展覽二館,而我也是第一次坐高鐵到南港站。剛到會場真是讓我驚艷的是場地的規模,而且還有很多攤位,整體流線相對前幾年來比較,變得非常的通順,逛起攤位來非常的舒服。
[Read More]使用 Colima 快速打造 Kubernetes 開發環境
在學習新的技術項目,最麻煩的就是如何快速安裝相關環境,讓團隊同仁可以快速上手的最關鍵的原因之一。而學習 Kubernetes 也不例外,如果要在本地環境中搭建 Kubernetes 開發環境,需要安裝 Docker、Kubernetes、Minikube、Kubectl 等相關工具,這些工具的安裝和配置過程都比較繁瑣,而且容易出錯。能不能有快速地繞過這些方式,快速在自己的電腦打造 Kubernetes 開發環境呢?除了 Minikube,你可能也聽過 k3s、kind 等工具,不過這些工具對於新人來說,還是相當困難。今天要介紹的是一個新的工具 Colima,它可以讓您在本地環境中運行輕量級的虛擬機器,並在虛擬機器中運行 Kubernetes 叢集。
[Read More]如何產生開發者 kubeconfig 設定檔
產生 kubeconfig
檔案需要準備底下資訊
將 <path-to-kubeconfig-file>
替換為要生成的 kubeconfig 檔案的路徑和名稱,例如 ~/mykubeconfig
。將 <cluster-name>
替換為你的叢集名稱, <server-url>
替換為你的 Kubernetes API 伺服器的 URL, <path-to-ca-certificate>
替換為你的 CA 憑證的路徑和名稱, <username>
替換為你的使用者名稱,<token>
替換為你的身份驗證令牌(Access Token),透過底下指令就可以完成了
用 Terraform 初始化 GCP 環境
我們將使用 Terraform 來初始化 GCP 環境。從建立 Service Account 到 GCS 並且將 Terraform State 儲存做版本控制,這篇文章將會一步一步帶領您完成。
[Read More]在 Kubernetes 中列出 Service 下的所有 Pod
在 Kubernetes (簡稱 k8s) 中,Service Endpoint(服務終端點)是一個抽象的概念,代表著一個服務的網絡位置。它是一個內部或外部的 IP 地址,可以用來訪問運行在 Kubernetes 集群中的應用程序服務。而如何在 Kubernetes 中列出 Service 下的所有 Pod 呢?這篇文章將會介紹如何使用 kubectl 來列出 Service 下的所有 Pod。
[Read More]設計流程及系統架構圖好工具 D2
在之前寫過一篇『三款好用的繪圖工具來解決系統架構或流程圖』,內文介紹了 PlantUML、Diagrams 及 Excalidraw 三套不同的工具,而本篇要來介紹一套用 Go 語言寫的工具 D2: Declarative Diagramming,這套工具可以讓你使用簡單的語法來繪製系統架構圖或流程圖,並且可以將圖片轉換成 SVG 或 PNG 格式。在介紹之前,我來講講為什麼要用這些流程圖工具,對工作上或團隊內部有什麼優點?
[Read More]軟體工程師會被 AI 取代嗎?
看了 HackBear 泰瑞剛發佈的影片『我要被AI取代了嗎?』,今年火熱的 ChatGTP 已經是軟體工程師每天需要用到的工具了,但是這個工具真的會取代軟體工程師嗎?我們來看看影片內容。
看完影片後,自己想想有哪些事情是不會被 AI 取代的,大家也不用害怕 ChatGPT,而是要善用 AI 帶來的好處,讓自己的工作更有效率。
[Read More]網路服務 SaaS、PaaS 和 IaaS 的差異
一般來說,開發的應用程式可以部署在 SaaS、PaaS 或 IaaS 平台上。這些平台都是雲端運算的不同模式,可以根據自己的需求來選擇最適合自己的模式。本文將介紹 SaaS、PaaS 和 IaaS 的差異。根據團隊成員組成來決定要用什麼平台,這對於新創團隊來說是非常重要的議題。像是如果團隊有熟悉 Linux 維護的同仁,可以選擇像是 Linode、DigitalOcean 這類的 IaaS 服務,如果團隊有熟悉 Heroku、Google App Engine 這類的 PaaS Linode 是一個 IaaS (Infrastructure as a Service) 提供商,它提供了虛擬化的硬體環境,使用者可以在這個環境中建立虛擬機器和存儲裝置。使用者需要負責管理這些虛擬機器和存儲裝置,包括安裝和維護作業系統和應用程式。因此,Linode 可以歸類在 IaaS 的範疇。我個人就很常使用 Linode。
[Read More]Compiling multi-architecture images with Docker BuildKit using Drone CI/CD
In 2020, Docker announced support for multi-architecture images, and later, Docker BuildKit officially supported multi-architecture images. This article introduces how to use Drone CI/CD with Docker BuildKit to compile multi-architecture images, and this feature is free and does not require a paid Docker Hub account. However, the Drone Docker Plugin provided by Drone CI/CD does not currently support multi-architecture images, so you need to write your own Drone Pipeline to achieve our goal. The official website has also proposed this proposal: ‘Support cross-arch Docker builds within Docker using QEMU’ to achieve this goal, using QEMU. The key point is to use Docker BuildKit to complete it under the environment where the Host supports Qemu.
[Read More]