使用 Kubernetes + Traefik 輕鬆實現自動解析與 SSL 憑證簽署 🚀
Traefik 是一款優異的反向代理工具,常被應用於 Kubernetes Ingress 的實踐中。它不僅整合簡單、運行迅速,還支援動態配置,且能夠自動整合 Let’s Encrypt 以進行憑證簽署。本文主要會著重於 Let’s Encrypt 憑證簽署的設定部分。 系統需求 🛠️在我們開始之前,請確保系統已經滿足以下的前置條件: Kubernetes:用於管理、部署和擴展我們的應用。 Helm:Helm 是 Kubernetes 的套件管理工具,使得安裝和管理 Kubernetes 應用變得更加簡單。 已經完成上述準備了嗎?太好了,現在讓我們開始吧! 安裝 Traefik首先,我們要確認 values.yaml 的配置。這是一個關鍵的設定檔案,主要用於指定 Traefik 的特定參數。 1234567891011121314151617181920212223242526deployment: initContainers: - name: volume-permissions image: busybox:latest command: ...
kubernetes 安裝 metrics server
最近才知道 kubectl top 並不是天生就可以用的,需要另外安裝 metrics-server。 Install直接 apply 最新版的 metrics-server 1kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml 看看服務有沒有跑起來 12kubectl logs -n kube-system -l k8s-app=metrics-serverkubectl top po -A 疑難排解Error: x509: cannot validate certificate edit deployment/metrics-server 1kubectl edit deployment -n kube-system metrics-server add - --kubelet-insecure-tls to args: 12345678910spec: containers: ...
安裝 Let's Encrypt for Nginx
安裝 Let’s Encrypt 工具 123sudo add-apt-repository ppa:certbot/certbotsudo apt-get updatesudo apt-get install certbot 設定 nginx config 123location /.well-known { alias /var/www/example.org/.well-known;} 建立會用到的目錄 1sudo mkdir -p /var/www/example.org/.well-known 產生憑證 1sudo certbot certonly --webroot -w /var/www/example.org/ -d example.org 結果 1234567891011IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at /etc/letsencrypt/live/example.org/fullchain.pem...
這不是刷鍵盤 - asdf 多語言版本管理工具
Why系統上安裝的程式語言太多,每一種又有各自的版本管理工具(nvm, gvm, rvm, phpbrew…),對我來說一直都有相同的兩點困擾: 不統一 :每個不同語言的版本管理工具都有各自的安裝、用法。一樣的語言版本管理卻要學習好幾種不同工具的用法,雖然每一個單獨來看都不難,但分開學習的成本也提高了。 啟動很慢 :因為用了傳說中很慢的 oh-my-zsh ,再加上每個語言的套件管理工具之後,每次重新啟動一個新的 shell 的速度就真的慢到突破天際了。 直到 asdf 的出現解決了這個問題。 Extendable version manager with support for Ruby, Node.js, Elixir, Erlang & more 首頁一句簡單的介紹,說明了一切。asdf 提供了一個可擴充的版本管理框架,再透過插件的形式去支援各種語言,甚至是軟體(MongoDB、Postgres、Redis)。 Install它的安裝很簡單,首先要先安裝一些依賴的工具: For Ubuntu 1$ sudo apt-get install autom...
安裝最新版 nginx 到 Ubnutu Server 16.04
筆記 Install NginxAdd nginx ppa source 123sudo add-apt-repository ppa:nginx/stablesudo apt-get updatesudo apt-get install nginx 建立設定檔Add site config 1sudo vim /etc/nginx/sites-available/example.com Edit file /etc/nginx/sites-available/example.com 靜態網站範例 123456789server { listen 80; ## listen for ipv4; this line is default and implied # listen [::]:80 default ipv6only=on; ## listen for ipv6 root /var/www/example.com/public_html; index index.html index.htm; server_name...
隨身遠端的好工具 - Mosh
平常在外面使用 ssh 連回 Server 的時候經常遇到一個問題,就是網路不穩害得必須一直重新連線。後來發現 Mosh 這個好東西,可以在幫我處理掉這個問題,在重新連上網路之後幫我把連線重新接回來。 安裝平常都用 Mac,如果有裝 brew 的話安裝非常簡單,只要一個指令 1$ brew install mobile-shell 在 Ubuntu 下安裝 1234$ sudo apt-get install python-software-properties$ sudo add-apt-repository ppa:keithw/mosh$ sudo apt-get update$ sudo apt-get install mosh 連線方法 1$ mosh username@server-ip 或者如果想指定 Port 的話 1$ mosh --ssh="ssh -p 2222" username@server-ip 後記今天在裝新版 ubuntu 14.04 的時候發現,mosh 其實是可以直接安裝的,所以其實可以直接安裝就好。 1$ s...
Ubuntu Server 簡易筆記(一)
因為常常手癢重裝,只好寫個簡單的安裝快速筆記避免自己找麻煩,第一篇先紀錄一下連線的方法。 目前選用的環境是放在Amazon EC2上面,不過建立Instance的部份就懶得細述了,反正就是點Lunch Instance然後選OS就好,記得如果有建新的Key Pair切記要下載回來保存好。 關於連線關於連線的部份,記得第一次用的時候也真的被搞了很久,後來發現重點就是剛剛下載回來的Key Pair。 ssh連線指令像這樣 1$ ssh -i yourkey.pem ubuntu@ec2-12-234-56-78.xxxxxxxxx.compute.amazonaws.com 記得把 yourkey.pem 換成下載下來的檔案,@後面換成自己的主機位置,主機位置可以在這個地方找到 新增User因為在Amazon EC2 上的Ubuntu預設會給一個User叫做ubuntu。看起來彆扭,所以我習慣會另外建個User,很簡單只要 1$ sudo adduser Username 只要輸入兩次密碼,後面都可以跳過。然後幫自己加個管理者權限(慎用) 1$ sudo usermo...

