部署 EKS 上的 Calico

请阅读

以下是两个链接的中文释义:

https://docs.aws.amazon.com/ja_jp/eks/latest/userguide/calico.html

– 亚马逊云服务文档中有关EKS Calico功能的用户指南。

https://docs.projectcalico.org/security/tutorials/kubernetes-policy-demo/kubernetes-demo

– Calico项目文档中展示Kubernetes策略演示的教程。

“Calico” 指的是

    • NetworkPolicyよりも柔軟な通信制御ができる

 

    • 具体的にはNamespace間で疎通をブロックさせたりできる

それは標準のNetworkPolicyではできない

calicoのデプロイ

本体となるDeamonSetをデプロイ

kubectl apply -f https://raw.githubusercontent.com/aws/amazon-vpc-cni-k8s/master/config/master/calico-operator.yaml
kubectl apply -f https://raw.githubusercontent.com/aws/amazon-vpc-cni-k8s/master/config/master/calico-crs.yaml

检查deamonset

kubectl get daemonset calico-node --namespace calico-system 
NAME          DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR            AGE
calico-node   2         2         2       2            2           kubernetes.io/os=linux   103s

确认行动

kubectl apply -f https://docs.projectcalico.org/v3.3/getting-started/kubernetes/tutorials/stars-policy/manifests/00-namespace.yaml
kubectl apply -f https://docs.projectcalico.org/v3.3/getting-started/kubernetes/tutorials/stars-policy/manifests/01-management-ui.yaml
kubectl apply -f https://docs.projectcalico.org/v3.3/getting-started/kubernetes/tutorials/stars-policy/manifests/02-backend.yaml
kubectl apply -f https://docs.projectcalico.org/v3.3/getting-started/kubernetes/tutorials/stars-policy/manifests/03-frontend.yaml
kubectl apply -f https://docs.projectcalico.org/v3.3/getting-started/kubernetes/tutorials/stars-policy/manifests/04-client.yaml

显示的用户界面 (Display user interface)

kubectl port-forward service/management-ui -n management-ui 9001

只需一个选项:访问

    • C → ClientService

 

    • F → フロントエンドサービス

 

    B → バックエンドサービス

という意味らしい

image.png

服务的分割

kubectl apply -n stars -f https://docs.projectcalico.org/v3.3/getting-started/kubernetes/tutorials/stars-policy/policies/default-deny.yaml
kubectl apply -n client -f https://docs.projectcalico.org/v3.3/getting-started/kubernetes/tutorials/stars-policy/policies/default-deny.yaml

访问

管理UIへのアクセスが遮断されている

image.png

管理UIへアクセスできるようにポリシーを適用

kubectl apply -f https://docs.projectcalico.org/v3.3/getting-started/kubernetes/tutorials/stars-policy/policies/allow-ui.yaml
kubectl apply -f https://docs.projectcalico.org/v3.3/getting-started/kubernetes/tutorials/stars-policy/policies/allow-ui-client.yaml

アクセス

image.png

フロントエンドからバックエンドへの通信許可

kubectl apply -f https://docs.projectcalico.org/v3.3/getting-started/kubernetes/tutorials/stars-policy/policies/frontend-policy.yaml

允许客户端与前端服务之间进行通信

kubectl apply -f https://docs.projectcalico.org/v3.3/getting-started/kubernetes/tutorials/stars-policy/policies/frontend-policy.yaml
image.png

删除

kubectl delete -f https://docs.projectcalico.org/v3.3/getting-started/kubernetes/tutorials/stars-policy/manifests/04-client.yaml
kubectl delete -f https://docs.projectcalico.org/v3.3/getting-started/kubernetes/tutorials/stars-policy/manifests/03-frontend.yaml
kubectl delete -f https://docs.projectcalico.org/v3.3/getting-started/kubernetes/tutorials/stars-policy/manifests/02-backend.yaml
kubectl delete -f https://docs.projectcalico.org/v3.3/getting-started/kubernetes/tutorials/stars-policy/manifests/01-management-ui.yaml
kubectl delete -f https://docs.projectcalico.org/v3.3/getting-started/kubernetes/tutorials/stars-policy/manifests/00-namespace.yaml
广告
将在 10 秒后关闭
bannerAds