AWS 吸血吸的太過份了,連 AZ 間的流量都收高價 (跟跨 region 一樣的錢)
所以如果你 deploy k8s 在 AWS,預設的情況都是 cross-AZ,然後你還搞 micro service 的話,流量一大就會看到帳單出現以前從沒見過的收費 - 那些你在 service/pod 間的呼叫通通要錢
microservice 就是要吃大流量才想用的架構,但你一上雲端就是吃光你的錢。
為了 sharding 所以資料都不 join
跟裡面的留言一樣,我也覺得這些大 table 搬到 NoSQL 才是。但他們回 HBase 不太行。啊本來就不該用 HBase 吧,大概是不想再增加技術門檻了才不想換,從他們選擇自己做 shard 就知道 (NIH...)。
其實我還以為 quora 已經死掉了,你 google 去找根本很少是 quora 的文章說
nginx cert-manager 大概只要是 bare metal 都是這樣做,在自己的主機玩都這樣。
一開始我們先用 ALB,因為 ALB controller 雖然現在沒有可以共用 path rule,但其實已經做好了,等待 alpha 測試完畢就可以用了。結果沒想到一等就等半年 (作者太忙,他們都 AWS 的人)。所以現在卡的不上不下的,如果打掉重練的話可以重新考慮 nginx 的作法。
不過, NLB 進來的封包,會先經過 kube-proxy (iptables 吧?),再到 nginx pods,再到 app pods,一個封包在 nodes 間 bounce 兩次以上這種事我實在是受不了… 如果 node 是跨 Availability Zone 的話,每次 bounce AWS 都要收錢的
SSL Termination 可以用 cert-manager,用 let's encryption issuer1 其實挺無腦的。他好像沒有提到 ALB 比較貴的缺點,我怎麼看都覺得 NLB + nginx 比較好。話說我們用 GCP 也是用 L4 LB + nginx ingress 唷。
node 現在有 managed node & fargate 可以用
兩者都不支援 spot instances, 然後 fargate 不支援 EBS,暈倒
ingress 的話,我目前是用 ALB + traefik ingress,其實還是可以用一台 ALB 搞定一卡車小站
哎,就是麻煩啊,k8s 的難度已經很高了,還要自己搞一套。而且我個人不喜歡 traffic 在 node 間 bounce。純 ALB 可以直通 pods,這算是 EKS 的優點。
cloudsql 聽到有 downtime 是一兩年前的事了,現在還會遇到嗎?拿麼恐怖
恩恩 感謝回覆我的問題!!! 不過我知道有些點有改善
- master 要錢 <--- 真的貴
- node 現在有 managed node & fargate 可以用 (心智成本又上升了)
- GKE 其實到最後還是要熟 VPC 的部分,我們家有踩到一些雷,最後還是自己重切過
- ingress 的話,我目前是用 ALB + traefik ingress,其實還是可以用一台 ALB 搞定一卡車小站
- EC2 網卡這個我認同, 這個東西每次都要查一下,蠻麻煩的 Link1
GKE 我覺得很棒,但是 GCP 的問題一直都是其他 managed service 沒 AWS 多且穩定, 像是 cloudsql 會有 downtime 就抖抖的,這方面可能再跟大家請教下 XD
Google GKE 大概是做最好的吧,這也是去年 GCP 用戶上升的原因。
EKS 就是個拼裝車,把 AWS 現有的服務硬裝上 k8s,所以變成用戶除了使用 k8s 外,還要處理 AWS 本身的服務,以及橋接的部份。
- EKS 的 master 要錢,mdfk
- EKS 的 node 要自己安裝升級,還要一台台自己手動升,mdfk
- EKS 還要先設好 VPC,VPC 除了設一堆 route table 外還要買固定 IP,然後超級難懂,mdfk
- EKS 的 ingress 是不能共用 Load Balancer (ALB) 的,所以每個對外的網址都要開一台 LB,你開十個小站就要花十台 LB 的錢,mdfk
- EKS node 延用 EC2 的網卡架構,舉例一台小 node 如果能配四張網卡,而一張網卡只能配四個 IP 的話,你一台 node 就只能裝 16 pods 左右,不論你 cpu/ram 還剩多少空間,mdfk