网络策略calico

在集群内定义一个网络策略,哪些服务可以访问,哪些服务不可以访问。网络策略需要网络插件支持的。默认情况下,flannel不带有这种网络策略支撑。如果需要网络策略,需要更换网络插件
calico

server2
kubectl -n kube-system get pod

在这里插入图片描述
calico简介:
在这里插入图片描述
不要求策略flannel够用。如果要求比较多,两个都可以装。
实验在部署时:不能同时弄两个
在这里插入图片描述
在这里插入图片描述
使用阿里云主机最好把ipip模式开启。云端环境和裸金属环境不一样

server2
cd 
mkdir calico/
ls

在这里插入图片描述
如果wget下载不下来的话,curl命令也可以。

server1仓库
docker pull docker.io/calico/cni:v3.22.0
docker pull docker.io/calico/pod2daemon-flevol:v3.22.0
docker pull docker.io/calico/kube-controllers:v3.22.0
docker pull docker.io/calico/node:v3.22.0
docker tag docker.io/calico/cni:v3.22.0 reg.westos.org/calico/cni:v3.22.0
docket push reg.westos.org/calico/cni:v3.22.0 #其他三个以此类推。

把server2配置文件中的image这四个都删除docker.io/

server1
df -h / #查看仓库有没有满
server2,3,4
kubectl delete -f kube-flannel.yml
kubectl -n kube-system get pod
cd /etc/cni/
ls
cd net.d/
ls
rm -f 10-flannel.conflist
server2
cd calico/
kubectl apply -f calico.yml
kubectl get ns
kubectl get pod -n kub-system
kubectl -n kube-system get all
cd /etc/cni/
cd net.d/
ls
cd..
删除之前的东西
cd ingress/
kubectl delete -f v1-ingress.yaml
kubectl delete -f v2-ingress.yaml
kubectl delete svc --all #如果删除了一个默认的svc,这个是会自动新建的。
kubectl delete deployments.apps deployment-myapp
kubectl delete deployments.apps deployment-nginx
kubectl get pod #这时多有的pod都被删除了
cd ..

#重新创建pod
cd pod/
ls
kubectl apply -f deploy.yml
kubectl get pod -o wide #重建pod,查看ip有没有问题

在这里插入图片描述

kubectl get svc
curl访问以上地址,看有没有问题这是集群内访问
集群外访问
cd ingress/
ls
kubectl apply -f v1-ingress.yaml
kebuctl describe ingress ingress-myapp

在这里插入图片描述

kubectl get pod --show-labels
cd calico/
vim police.yml

在这里插入图片描述

kubectl apply -f police.yaml
kubectl get pod -o wide
kubectl get svc

只要标签满足app=nginx,才有效

kubectl run demo --image=busyboxplus -it
curl ip
在另外一台连接server2
kubectl get pod --show-labels
kubectl label pod demo access=true
kubectl get pod --show-labels

以下是namespace匹配
在这里插入图片描述

kubectl create namespace test
kubectl get ns --show-labels
在原来的server2
kubectl run demo --image=busyboxplus -it -n test
在另外一台连接server2
kubectl get pod --show-labels
kubectl -n test get pod
kubectl -n test get pod --show-labels
kubectl label ns test role=test
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值