1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: test-network-policy
namespace: foo
spec:
podSelector:
matchLabels: {}
policyTypes:
- Ingress
ingress:
- from:
- ipBlock:
cidr: 10.2.3.4/32
- namespaceSelector:
matchExpressions:
- key: region
operator: NotIn
values:
- bar
|
kubectl get node -o wide
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
node1 Ready master,worker 34d v1.19.8 10.102.123.117 <none> CentOS Linux 7 (Core) 3.10.0-1127.el7.x86_64 docker://20.10.6
node2 Ready worker 34d v1.19.8 10.102.123.104 <none> CentOS Linux 7 (Core) 3.10.0-1127.el7.x86_64 docker://20.10.6
node3 Ready worker 34d v1.19.8 10.102.123.143 <none> CentOS Linux 7 (Core) 3.10.0-1127.el7.x86_64 docker://20.10.6
|
kubectl -n tekton-pipelines get pod -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
tekton-dashboard-75c65d785b-xbgk6 1/1 Running 0 14h 10.233.96.32 node2 <none> <none>
|
kubectl -n tekton-pipelines get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
tekton-dashboard NodePort 10.233.5.155 <none> 9097:31602/TCP 10m
|
route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.233.92.0 node3.cluster.l 255.255.255.0 UG 0 0 0 tunl0
10.233.96.0 node2.cluster.l 255.255.255.0 UG 0 0 0 tunl0
|
ipvsadm -L
TCP node2:31602 rr
-> 10.233.96.32:9097 Masq 1 0 0
TCP node2:31602 rr
-> 10.233.96.32:9097 Masq 1 0 0
TCP node2.cluster.local:31602 rr
-> 10.233.96.32:9097 Masq 1 0 1
TCP node2:31602 rr
-> 10.233.96.32:9097 Masq 1 0 0
TCP localhost:31602 rr
-> 10.233.96.32:9097 Masq 1 0 0
|
route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.233.90.0 node1.cluster.l 255.255.255.0 UG 0 0 0 tunl0
10.233.92.0 node3.cluster.l 255.255.255.0 UG 0 0 0 tunl0
10.233.96.32 0.0.0.0 255.255.255.255 UH 0 0 0 cali73daeaf4b12
|
ifconfig
tunl0: flags=193<UP,RUNNING,NOARP> mtu 1440
inet 10.233.90.0 netmask 255.255.255.255
|
ifconfig
tunl0: flags=193<UP,RUNNING,NOARP> mtu 1440
inet 10.233.96.0 netmask 255.255.255.255
|
ifconfig
tunl0: flags=193<UP,RUNNING,NOARP> mtu 1440
inet 10.233.92.0 netmask 255.255.255.255
|
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: test-network-policy
namespace: foo
spec:
podSelector:
matchLabels: {}
policyTypes:
- Ingress
ingress:
- from:
- ipBlock:
cidr: 10.2.3.4/32
- ipBlock:
cidr: 10.233.90.0/32
- ipBlock:
cidr: 10.233.96.0/32
- ipBlock:
cidr: 10.233.92.0/32
- namespaceSelector:
matchExpressions:
- key: region
operator: NotIn
values:
- bar
|
kubectl -n tekton-pipelines get svc tekton-dashboard -o yaml
apiVersion: v1
kind: Service
metadata:
name: tekton-dashboard
namespace: tekton-pipelines
spec:
clusterIP: 10.233.5.155
externalTrafficPolicy: Local
...
|
kind: NetworkPolicy
apiVersion: networking.k8s.io/v1
metadata:
name: test-network-policy-deny-all
namespace: foo
spec:
podSelector:
matchLabels: {}
ingress: []
|
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: test-network-policy
namespace: foo
spec:
podSelector:
matchLabels: {}
policyTypes:
- Ingress
ingress:
- from:
- ipBlock:
cidr: 10.2.3.4/32
|
相关推荐
Kubernetes 是一款生产级的开源系统,用于容器化应用程序的自动部署、扩展和管理。本文关于使用 Kubernetes 来管理容器。 “容器”已成为最新的流行语之一。但是,这个词到底意味着什么呢?说起“容器”,人们通常会把它和 Docker 联系起来,Docker 是一个被定义为软件的标准化单元容器。该容器将软件和运行软件所需的环境封装到一个易于交付的单元中。 容器是一个软件的标准单元,用它来
如今在 Kubernetes 中,服务网格已经变得司空见惯,有些平台甚至默认将其构建到集群中。服务网格无疑在多种方面提供了诸多好处,这些好处众所周知,但也众所周知,它们显著增加了集群的复杂性。除了增加了复杂性之外,服务网格在强制执行 Pod 安全性方面也带来了(臭名昭著的)问题,因为它们需要提升的权限可能对其他准入控制器造成难以处理的困扰,例如 Kubernetes 自身的 Pod 安全准入控制器
Flannel是CoreOS开源的CNI网络插件,下图flannel官网提供的一个数据包经过封包、传输以及拆包的示意图,从这个图片里面里面可以看出两台机器的docker0分别处于不同的段:10.1.20.1/24 和 10.1.15.1/24 ,如果从Web App Frontend1 pod(10.1.15.2)去连接另一台主机上的Backend Service2 pod(10.1.20.3),
在复杂的 IT 基础设施中,有许多重复性任务。成功运行这些任务并不容易。运行失败大多数是人为错误引发。在 Ansible 帮助下,你可以通过远程主机来执行所有任务,这些远程主机按照行动手册playbook执行,行动手册可以根据需要重复使用多次。在本文中,你将学习如何在 Fedora Linux 上安装、配置 Ansible,以及如何使用它来管理、配置 Podman 容器。 Ansible Ansi
为了快速地响应用户的需求、满足运营活动的需要,互联网产品通常有着非常高的发布频率。采用敏捷开发的方式,缩短了交付的周期,加快了产品的迭代,也给项目的文件管理带来了挑战。前端工程直接面向用户,首当其冲,最值得重视。频繁更新的图片、样式、交互,不同的版本文件,怎样保证用户获取一个可预期的结果呢?本文正是从这个问题出发,讨论相关的解决方案。1. 缓存方式前端缓存分为两种:强缓存:浏览器在加载静态资源时,
回到顶部