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的更多相关文章

  1. 如何定制 Calico 网络 Policy - 每天5分钟玩转 Docker 容器技术(70)

    Calico 默认的 policy 规则是:容器只能与同一个 calico 网络中的容器通信.本节讨论如何定制 policy. calico 能够让用户定义灵活的 policy 规则,精细化控制进出容 ...

  2. 070、如何定制Calico 网络policy(2019-04-15 周一)

    参考https://www.cnblogs.com/CloudMan6/p/7552618.html     Calico默认的policy是:容器只能与同一个calico网络中的容器通信.   Ca ...

  3. 第 8 章 容器网络 - 070 - 如何定制 Calico 网络 Policy?

    定制 Calico 网络 Policy Calico 默认的 policy 规则是:容器只能与同一个 calico 网络中的容器通信. Calico 能够让用户定义灵活的 policy 规则,精细化控 ...

  4. 在Kubernetes集群中使用calico做网络驱动的配置方法

    参考calico官网:http://docs.projectcalico.org/v2.0/getting-started/kubernetes/installation/hosted/kubeadm ...

  5. kubernetes学习笔记之十三:基于calico的网络策略入门

    一..安装calico [root@k8s-master01 ~]# kubectl apply -f https://docs.projectcalico.org/v3.3/getting-star ...

  6. k8s之网络插件flannel及基于Calico的网络策略

    1.k8s网络通信 a.容器间通信:同一个pod内的多个容器间的通信,通过lo即可实现; b.pod之间的通信:pod ip <---> pod ip,pod和pod之间不经过任何转换即可 ...

  7. centos7下安装docker(15.7容器跨主机网络---calico)

    Calico是一个纯三层的虚拟网络方案,Calico为每个容器分配一个IP,每个host都是router,把不同host的容器连接起来.与vxlan不同的是:calico不对数据包进行封装,不需要NA ...

  8. 第 8 章 容器网络 - 069 - Calico 的默认连通性

    相同calico 网络之间的连通性 测试一下 bbox1 与 bbox2 的连通性: ping 成功,数据包流向如下图所示. 1)根据 bbox1 的路由表,将数据包从 cal0 发出. 2)数据经过 ...

  9. Docker网络解决方案 - Calico部署记录

    简单来说,实现docker跨主机容器间通信,常用的第三方网络方案是Flannel,Weave,Calico:Flannel会为每个host分配一个subnet,容器从这个subnet中分配ip,这些i ...

随机推荐

  1. 使用qemu启动dd制作的img镜像

    1. 准备工作 应用场景 在需要单机取证时,需要在不影响对象业务的情况下进行取证或分析,可以使用dd 对目标服务器进行镜像,生成img文件,镜像可以通过winhex进行静态分析.但是想要动态分析服务器 ...

  2. 《我是一只IT小小鸟》 读书笔记

    <我是一只IT小小鸟>讲述了IT人员的成长经历,邀请了许多名IT行业的职员,学生,研究生写了自己的亲身经历和人生感悟,以书中可以看到我国IT行业的快速进步,以及看到IT员在这条道路上的坎坷 ...

  3. c文法

    程序→<外部声明>|<程序> 外部声明→<功能定义>|<声明> 功能定义→<声明复合语句的类型> 类型→<VOID| CHAR| IN ...

  4. 学生导师互选系统(php代码规范)

    学生导师互选系统(php代码规范) php编码规范 组名:一不小心就火了 负责项目:学生导师互选系统(安卓端) 编写目的 为了更好的提高团队的的合作效率,保证开发的有效性和合理性,并可最大程度的提高程 ...

  5. React.js + LiveReload配置详解

    一.介绍一下LiveReload: LiveReload monitors changes in the file system. As soon as you save a file, it is ...

  6. 【转】Linux C 网络编程——TCP套接口编程

    地址:http://blog.csdn.net/matrix_laboratory/article/details/13669211 2. socket() <span style=" ...

  7. 在MySQL中如何使用覆盖索引优化limit分页查询

    背景 今年3月份时候,线上发生一次大事故.公司主要后端服务器发生宕机,所有接口超时.宕机半小时后,又自动恢复正常.但是过了2小时,又再次发生宕机. 通过接口日志,发现MySQL数据库无法响应服务器.在 ...

  8. Mysql 学习之 SQL的执行顺序

    mysql的json查询:                                                                       1.一条普通的SQL SELEC ...

  9. tooltips & click copy

    tooltips & click copy shit antd & tooltips & click copy https://codesandbox.io/s/zx4wo7y ...

  10. appium1.6.3/1.6.4/1.6.5版本下如何支持安卓下ByName定位

    1. 换其他定位方式,比如用xpath代替 2. 使用ByAccessibilityId代替,感觉没什么效果 一招修改源码解决问题根源,修改方法如下: 找到你的appium\node_modules\ ...