K8S - Development - Replicas

前言 這篇的主題是建立 development 並且確認 development 在各個狀況會如何調度資源,如果需要跳到別的部分的 k8s 筆記,請透過下方連結跳轉~ K8S - 基礎學習筆記目錄 建立 Development apiVersion: apps/v1 # 定義這個物件的類型為 Deployment kind: Deployment # 設定這個 Deployment 的 metadata(唯一識別資訊) metadata: name: py-backend-test-deployment # 設定這個 Deployment 的 spec(規格) spec: # 定義這個 Deployment 要運行的 Pod 的數量 replicas: 2 # 定義這個 Deployment 如何去選擇要管理的 Pod # 對應到 Pod 的 metadata.labels selector: matchLabels: app: py-backend-test # 定義這個 Deployment 要管理的 Pod 的模板 template: # 定義這個 Pod 的 metadata(唯一識別資訊) # 這邊的 metadata....

2024-11-20 · 217 words · SekiXu

K8S - Pods

前言 這篇的主題是建立 pod 並且與你建立的 pod 互動,如果需要跳到別的部分的 k8s 筆記,請透過下方連結跳轉~ K8S - 基礎學習筆記目錄 建立 Pods apiVersion: v1 # 定義這個物件的類型為 Pod kind: Pod # 設定這個 Pod 的 metadata(唯一識別資訊) metadata: name: py-backend-test # 設定這個 Pod 的 spec(規格) spec: # 定義這個 Pod 要運行的容器 containers: # 定義容器的內容,可以把他想像成 docker-compose 的設定 - name: py-backend-test image: sekixu/py-backend-test:latest # 定義容器的資源限制,避免這個容器使用過多資源影響到其他容器 resources: # 定義容器的最大資源限制 limits: memory: "512Mi" cpu: "500m" # 定義容器的最小資源限制 requests: memory: "256Mi" cpu: "250m" ports: # 定義容器要開啟的 Port - containerPort: 8000 指令 # 套用寫好的 yaml 檔建立 pods kubectl apply -f pod....

2024-11-20 · 163 words · SekiXu

K8S - 基礎學習筆記目錄

前言 這個文章將會一步一步帶你把一個簡單的前後端分離的服務部署上本地的 K8S(with Docker CE),參考教學文章為 guangzhengli/k8s-tutotials,感謝這個作者開了這個相當好懂的 K8S 教學 Repo。 這個文章內所有的步驟,都會透過我自己的 Repo matsuno.seki/eks-cicd-template 來實作一遍,大家也可以自己開一個 Repo,針對想練習的部分實作看看! 章節 在這個文章我會跳過服務建立的部分,大家可以動動腦袋把自己的服務編成 container 推上 docker hub 後一起實作看看,另外在每個步驟後面的括號都是我自己為了更好理解打上去的註解,如果哪邊有錯或是誤解的話可以跟我說~ 建立 pods(set of containers) k8s - Pods 建立 deployment(auto pods management) k8s - development - replicas 建立 service(pods proxy) 建立 ingress controller(service gateway) 參考文件 guangzhengli/k8s-tutotials

2024-11-20 · 46 words · SekiXu

用 terraform 建立一個 EC2 Server

前言 最近想認真學 CI / CD 相關技術,所以想先從 GitHub action 和 terraform 開始,而按照開發流程來說,先建立一台開發 / 實驗用的 Server 一定是 Hello world 一般的開始了,這篇文章會按照 terraform 建立一台開發用的 EC2 server。 https://developer.hashicorp.com/terraform/tutorials/aws-get-started 步驟 在這次的步驟中我假設你已經有了 AWS 的基礎知識,並且安裝好了 terraform,我們就可以按照以下幾個步驟進行實作。 Terraform 步驟 main.tf 內容解釋 建立 Server 實際連線測試 Terraform 步驟 一個基本的 Terraform 使用流程,會有以下幾個步驟。 init 安裝各種插件,像是 Provider(註1)。 validate 事先驗證語法是否正確,但不保證 runtime 不會有 error。 plan 檢視即將建立怎麼樣的資源。 apply 實際在該服務上建立資源。 show 觀察已建立的資源的資訊,以 EC2 為例,我們就可以看到我們建立的 Instance 的 IP, Image 及區域等等資訊。 change 更改已建立的資源的內容。 destroy 將建立起的資源刪除掉。 註1: Terraform 中用來與對應的服務(像 AWS)溝通的插件 main.tf 內容 以下是我們的 main....

2024-05-23 · 464 words · SekiXu

使用 Traefik 作為反向代理伺服器

前言 使用 Traefik 可以很簡單的建立反向代理伺服器,並且自動獲取 SSL 證書,所以嘗試記錄一下。 預備步驟 安裝 docker & docker-compose 在伺服器上。 步驟 建立 Docker 網路 準備好 Traefik 設定檔 建立 Docker compose file 設定反向代理 建立 Docker 網路 透過以下指令建立 docker network,在後面的 docker compose file 會用到。 docker network create <network-name> # docker network create traefik_network 準備 Traefik 設定檔 先寫好 Traefik 設定檔,檔名為 traefik.yaml,要放在 /etc/traefik 中,這裡的設定檔沒記錯應該有參考到網路上的某篇文章,知道是哪篇的或是作者再麻煩聯繫我,我會標注的 QQ。 api: # 關閉 Traefik 8080 port insecure: false # 啟用 Traefik 的 dashboard dashboard: true # 設定 Traefik 的 providers providers: docker: endpoint: "unix:///var/run/docker....

2023-12-17 · 256 words · SekiXu

建立我的第一個 EC2

目的 紀錄建立一個 EC2 實體時的步驟,因為相較其他家 VPS 多了一些不一樣的設定,所以寫一點簡單的筆記。 名詞解釋 t2-micro: EC2 的其中一種類型,t 是類型,2 是第幾代,micro 是 size。 Security group: 用來設定資料的傳入以及傳出規則,基本上就是防火牆,只是可以套用多條到一個群組,在建立 Instance 的時候就可以直接套用多個群組。 步驟 輸入 EC2 名稱 選擇 Image or Application 選擇 Instance type 建立 / 選擇 Key pair for ssh login 建立 / 選擇 Security group 設定 Storage 其他進階設定 實作開始 輸入 EC2 名稱 基本上沒什麼問題,取個你認得名字就好。 選擇 Image or Application 這裡有一個專有名詞叫 AMI (Amazon Machine Image),基本上和 OS 的 Image 是一樣的東西,有各種 Linux,也有 macOS 和 Windows,可以直接選擇 Amazon Linux 就好。...

2023-12-01 · 157 words · SekiXu