最近一个月其实一直在使用阿里云的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绑定使用.