[crayon-62bcc4d590f0c769196125/] [crayon-62bcc4d590f11257794000/] [crayon-62bcc4d590f13878347858/] [crayon-62bcc4d590f14875859488/]
[crayon-62bcc4d590f0c769196125/] [crayon-62bcc4d590f11257794000/] [crayon-62bcc4d590f13878347858/] [crayon-62bcc4d590f14875859488/]
准备工作 为了学习以及理解k8s各个模块组件间关系,没有使用yum来安装,也没有使用kubeadm来做建立集群。采用全手工安装和配置方式,为了简化安装过程,集群内未使用证书来实现安全的接口通信。 环境 三台主机 172.16.199.17/24 Master 172.16.199.27/24 node 172.16.199.37/24 node 所有机器上都已安装好 docker,三机构成etcd集群,全部安装了flannel网络 系统版本Centos7 Master安装:
Vxlan模式 flannel的vxlan模式,数据包是通过kernal来转发的,而当使用udp模式时候是flannel自己转发。UDP模式下性能要差很多,性能差别可参考一些测试: UDP模式: 60秒单线程测试 iperf3 -c x.x.x.x -t 60 结果: [ 4] 0.00-60.00 sec 3.33 GBytes 477 Mbits/sec 15716 sender [ 4] 0.00-60.00 sec 3.33 GBytes 476 Mbits/sec receiver 开启30个线程传输 i…
Flannel简介 Flannel是一个开源的用于管理和组织跨主机间容器网络的一套工具,其原理是通过在所有宿主机上建立一个flannel0网卡,将所有宿主机设置为同一个大的网段,并改写每个docker0的桥IP(通过改写docker daemon启动命令)为其一个子网IP,从而实现,整体网络在一个大的网段,各个docker0分配不同的子网网段。各个docker0网络内的容器数据包最终通过flanneld进程来将数据包进行封装,通过UDP包外层封装(缺省),或者vxlan隧道,实现跨主机容器通信(主机底层物理网络只要…
环境: host1(docker1): 172.16.199.17/24 host2(docker2):172.16.199.27/24 host3(docker2):172.16.199.37/24 目的: 配置etcd集群服务,为后续flannel网络及kubernetes(k8s)集群提供基础服务
Openvswitch overlay网络: 配置前网络状况 主机1: [crayon-62bcc4d59209f686084400/] 主机2: [crayon-62bcc4d5920a2301852002/] 主机1设置:
路由方式互联跨宿主机容器: linux在容器docker0网路与host的网卡网咯之间是可以执行ip forwarding的,因此跨主机的容器网络可以通过路由的方式来实现彼此互通,如下结构:
Host网络方式: 容器run的时候启用--network来指明host网络类型,使得容器复用host的网络空间。容器将得到和宿主机一样的网络接口及IP。这样的缺点是容器在网络上没有隔离,而且多个容器存在抢占同一端口的可能性,限制性比较大。 桥接外部网络方式: 容器桥接到一个自定义网桥(非docker产生的网桥,而是linux中独立创建的网桥),并将该自定义网桥与宿主机物理接口进行桥接,这样将容器直接透传到外部物理网络里来,使得各个容器就像直接活在外部网络中的一个主机一样。可以通过pipework这个工具来自动化执…
To detach from the container1 container and leave it running, use the keyboard sequence CTRL-p CTRL-q 场景:centos7.3.1611上,docker版本Server: Version: 17.05.0-ce API version: 1.29 (minimum version 1.12) 连个容器A,B连接在缺省的docker0 bridge网络上,A 通过publish port方式将80映射到主机的8080…
在同一台宿主机器上,docker彼此之间默认可以直接通过IP地址通信(假如启动docker dameon时候icc=true),但是每个容器的ip地址并不固定,如果单纯依赖IP地址通信局限性会很大,在传统的docker网络下可以考虑使用link特性来让各个容器之间进行业务通信。 link容器的做法是在启动一个容器时候,使用--link参数来连接一个需要被访问的容器,无论是否启用icc=true,使用link后都可以通信: [crayon-62bcc4d592767120890565/] 执行后,docker实际上做…
[crayon-62bcc4d5928b4831325257/] 运行以上脚本即可: [crayon-62bcc4d5928b7472306587/]
拉取busybox镜像,并运行一个容器实例(挂载一个自命名的volume进去) [crayon-62bcc4d592989145685773/] 观察此时/var/lib/docker下结构: [root@docker1 docker]# tree -L 4
Centos7 [root@docker1 etc]# more system-release CentOS Linux release 7.3.1611 (Core) [root@docker1 etc]# uname -a Linux docker1.f5lab.com 3.10.0-514.16.1.el7.x86_64 #1 SMP Wed Apr 12 15:04:24 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux [root@docker1 etc]# docker i…
底层系统平台: CENTOS7 yum update curl -sSL https://get.docker.com | sh 安装docker service start docker, chkconfig docker on docker pull mysql docker pull wordpress docker run --name wp-mysql -e MYSQL_ROOT_PASSWORD=abc123 -d mysql:latest docker run --name my-wp -e WORD…
COPYRIGHT © 2022 Cloud Native应用交付. ALL RIGHTS RESERVED.
Theme Kratos Made By Seaton Jiang