最近一個月其實一直在使用阿里雲的ask, 也就是全託管的K8s容器服務.
依託於良好的網頁圖形化控制組件, 幾乎可以完全不用手寫yml, 即可完成pod, svc,cm等內容的配置發佈.
甚至連pv,pvc,sc 等等都有很直觀的操作體驗, 可謂是良心的很.
然後, 時隔一個月,再回來搞aws的fargate, 突然有點不知所措.
除去完全命令行方式的交互差別外, 再寫點一樣的地方.
0x01 fargateProfile
其中, 最核心的關鍵點, 就是 fargateprofile
對象了,
說這個之前, 先要明白一個事情: aws的EKS服務, 是要先定義好 nodegroup 才能進行pod部署的.當然, 這種場景下, 就不是全託管模式了, 因爲需要用戶去維護node主機節點.
當通過eksctl
創建好 cluster 之後, 首先需要定義的就是 fargateprofile
它主要包括幾個元素:
- 使用的 子網對象, 也就相當於限定了 可用區. 可以是1或N個.
- namespace: fargate作用的命名空間
通過上述profile的定義, 我們在相應namespace部署應用時, 就會觸發上面的機制:
即 只會在相應的子網(可用區)中創建Pod.
爲了省錢, 想只使用單可用區時, 上面的技巧就比較重要了, 否則可能會發生Pod在不用可用區, 可能會發生無法訪問的問題.
0x02 efs(nas)
在阿里雲使用的nas存儲, 在aws中叫做efs服務.
我們來聊聊在 EKS(k8s)中, 如何使用這個外部文件系統.
參考這個:
https://aws.amazon.com/cn/blogs/aws/new-aws-fargate-for-amazon-eks-now-supports-amazon-efs/
由於fargate環境已經集成了efs的相關驅動功能, 按上面的鏈接, 就可以很容易的創建和使用efs服務.
順便提一下, 每次pv,pvc使用完成後, 一定要先刪除, 然後重新創建的pv, 才能被pvc綁定使用.