练习calico的网络policy
1.安装docker,kubelet kubeadm kubectl
1 ssh-keygen
2 cat .ssh/authorized_keys
3 cat .ssh/id_rsa.pub
4 ssh 47.254.84.60
5 swapoff -a
6 vi /etc/fstab
7 systemctl stop firewalld
8 cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
exclude=kube*
EOF
9 setenforce 0
10 sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config
11 yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes
12 systemctl enable --now kubelet
13 cat <<EOF > /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
14 sysctl --system
15 lsmod | grep br_netfilter
16 modprobe br_netfilter
17 lsmod | grep br_netfilter
18 yum install -y yum-utils device-mapper-persistent-data lvm2
19 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
20 yum list docker-ce --showduplicates | sort -r
21 yum install docker-ce
22 sudo systemctl start docker
23 systemctl enable docker
24 systemctl start kubelet
25 systemctl status kubelet
26 kubeadm init --pod-network-cidr=192.168.0.0/16
27 mkdir -p $HOME/.kube
28 sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
29 sudo chown $(id -u):$(id -g) $HOME/.kube/config
30 kubectl get no
31 kubectl get pod --all-namespace
32 kubectl get pod --all-namespaces
33 kubectl get no
34 kubectl apply -f https://docs.projectcalico.org/v3.5/getting-started/kubernetes/installation/hosted/etcd.yaml
35 kubectl apply -f https://docs.projectcalico.org/v3.5/getting-started/kubernetes/installation/hosted/calico.yaml
36 kubectl get pods --all-namespaces
37 kubectl get no
38 kubectl taint nodes --all node-role.kubernetes.io/master-
39 kubectl get pods --all-namespaces
2.calico pod策略
40 kubectl create ns policy-demo
41 kubectl run --namespace=policy-demo nginx --replicas=2 --image=nginx
42 kubectl expose --namespace=policy-demo deployment nginx --port=80
43 kubectl run --namespace=policy-demo access --rm -ti --image busybox /bin/sh
44 kubectl create -f - <<EOF
kind: NetworkPolicy
apiVersion: networking.k8s.io/v1
metadata:
name: default-deny
namespace: policy-demo
spec:
podSelector:
matchLabels: {}
EOF
45 kubectl run --namespace=policy-demo access --rm -ti --image busybox /bin/sh
46 kubectl create -f - <<EOF
kind: NetworkPolicy
apiVersion: networking.k8s.io/v1
metadata:
name: access-nginx
namespace: policy-demo
spec:
podSelector:
matchLabels:
run: nginx
ingress:
- from:
- podSelector:
matchLabels:
run: access
EOF
47 kubectl run --namespace=policy-demo access --rm -ti --image busybox /bin/sh
48 kubectl run --namespace=policy-demo cant-access --rm -ti --image busybox /bin/sh
49 kubectl get pod
50 kubectl get pod --all-namespaces
练习calico的网络policy的更多相关文章
- 如何定制 Calico 网络 Policy - 每天5分钟玩转 Docker 容器技术(70)
Calico 默认的 policy 规则是:容器只能与同一个 calico 网络中的容器通信.本节讨论如何定制 policy. calico 能够让用户定义灵活的 policy 规则,精细化控制进出容 ...
- 070、如何定制Calico 网络policy(2019-04-15 周一)
参考https://www.cnblogs.com/CloudMan6/p/7552618.html Calico默认的policy是:容器只能与同一个calico网络中的容器通信. Ca ...
- 第 8 章 容器网络 - 070 - 如何定制 Calico 网络 Policy?
定制 Calico 网络 Policy Calico 默认的 policy 规则是:容器只能与同一个 calico 网络中的容器通信. Calico 能够让用户定义灵活的 policy 规则,精细化控 ...
- 在Kubernetes集群中使用calico做网络驱动的配置方法
参考calico官网:http://docs.projectcalico.org/v2.0/getting-started/kubernetes/installation/hosted/kubeadm ...
- kubernetes学习笔记之十三:基于calico的网络策略入门
一..安装calico [root@k8s-master01 ~]# kubectl apply -f https://docs.projectcalico.org/v3.3/getting-star ...
- k8s之网络插件flannel及基于Calico的网络策略
1.k8s网络通信 a.容器间通信:同一个pod内的多个容器间的通信,通过lo即可实现; b.pod之间的通信:pod ip <---> pod ip,pod和pod之间不经过任何转换即可 ...
- centos7下安装docker(15.7容器跨主机网络---calico)
Calico是一个纯三层的虚拟网络方案,Calico为每个容器分配一个IP,每个host都是router,把不同host的容器连接起来.与vxlan不同的是:calico不对数据包进行封装,不需要NA ...
- 第 8 章 容器网络 - 069 - Calico 的默认连通性
相同calico 网络之间的连通性 测试一下 bbox1 与 bbox2 的连通性: ping 成功,数据包流向如下图所示. 1)根据 bbox1 的路由表,将数据包从 cal0 发出. 2)数据经过 ...
- Docker网络解决方案 - Calico部署记录
简单来说,实现docker跨主机容器间通信,常用的第三方网络方案是Flannel,Weave,Calico:Flannel会为每个host分配一个subnet,容器从这个subnet中分配ip,这些i ...
随机推荐
- linux源码学习-for_each_cpu
刚开始读linux源码,第一眼就看到了这个很有意思的函数族,周末好好研究一下 3.13 这个组都是宏定义for循环,分析的时候注意到cpumask_next(),它在一个文件中定义了两次,还不是重载, ...
- 数据库mysql的常规操作
1. 什么是数据库? 数据库(Database)是按照数据结构来组织.存储和管理数据的建立在计算机存储设备上的仓库. 简单来说是本身可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进 ...
- PKI(Public Key Infrastucture)介绍
PKI(Public Key Infrastucture)介绍 根据Wikipedia PKI词条整理. PKI(Public Key Infrastucture)是一系列的规则.策略以及过程,可以用 ...
- 创建image
摘要: 本节演示如何通过 Web GUI 和 CLI 两种方法创建 Image. 本节演示如何通过 Web GUI 和 CLI 两种方法创建 Image. OpenStack 为终端用户提供了 Web ...
- Python Pygame (3) 界面显示
显示模式: 之前使display模块的set_mode()的方法用来指定界面的大小,并返回一个Surface对象. set_mode()的原型如下: display.set_mode(resoluti ...
- 《C》数据类型
- Traffic Steering for Service Function Chaining
Introduction 目前通过vlan标签来把流量引向对应的sfc 以前的sfc静态(SFs相邻组成SFC),有了sdn之后具有动态性.(SFs不需要彼此相邻.将流量动态地导向所需的SFs.) 流 ...
- PAT---福尔摩斯约会时间
主要为字符串的处理,注意读懂题目意思. 设置输出域宽和填充字符的函数分别为setw(int n),setfill(char c);两个函数的头文件为#include<iomanip>; # ...
- 【beta】Scrum站立会议第4次....11.6
小组名称:nice! 组长:李权 成员:于淼 刘芳芳韩媛媛 宫丽君 项目内容:约跑app(约吧) 时间: 12:00——12:30 地点:传媒西楼220室 本次对beta阶段的需求进行更新如下: ...
- 第163天:js面向对象-对象创建方式总结
面向对象-对象创建方式总结 1. 创建对象的方式,json方式 推荐使用的场合: 作为函数的参数,临时只用一次的场景.比如设置函数原型对象. var obj = {}; //对象有自己的 属性 和 行 ...