Calico

k8s学习笔记之安装二——重置,更换网络插件

孤者浪人 提交于 2020-08-18 21:42:18
一,重置k8s 1,主节点: kubectl delete node node01 node02 master kubeadm reset rm -rf .kube /var/log/containers /var/log/pods 2,从节点 kubeadm reset rm -rf .kube /var/log/containers /var/log/pods 二,更换网络插件 卸载flannel: 在master节点删除flannel kubectl delete -f kube-flannel.yml 重启kubelet sytemctl restart kubelet 安装calico: wget https://docs.projectcalico.org/manifests/calico.yaml kubectl apply -f calico.yaml 安装完毕后使用docker images 查看容器镜像可以看见如下以calico打头的镜像 来源: oschina 链接: https://my.oschina.net/u/4389900/blog/4312752

一篇文章搞定大规模容器平台生产落地十大实践

廉价感情. 提交于 2020-08-12 21:38:24
点击下方图片了解Kubernetes培训详情。 Kubernetes已经成为企业容器平台的标配,在大部分企业,小规模容器平台已经试用了一段时间,然而当容器平台规模大了之后,尤其是用于生产,可能会遇到各种各样的问题,这里我们总结十大问题。 第零节,Kubernetes的架构优势 在讲述生产落地实践之前,我们先概述一下Kubernetes的设计原理,因为后面的很多实践,都是基于对于这些原理的理解。 为什么在众多容器平台中,Kubernetes能够脱颖而出,我个人认为有以下几点。 1、Kubernetes的接口和概念设计是完全站在应用角度而非运维角度的 如果站在传统运维人员的角度看Kubernetes,会觉得它是个奇葩所在,容器还没创建出来,概念先来一大堆,文档先读一大把,编排文件也复杂,组件也多,让很多人望而却步。 但是如果开发人员的角度,尤其是从微服务应用的架构的角度来看Kubernetes,则会发现,它对于微服务的运行生命周期和相应的资源管控,做了非常好的抽象。 如图中所示,和虚拟机运行传统应用,只需要创建出资源来,并且保证网络畅通即可的方式不同,微服务的运行,需要完成左面的一系列工具链。 为什么要使用这些工具链,以及如何使用这些工具链,请参考我的另外两篇文章《 以业务为核心的云原生体系建设 》和《 从1到2000个微服务,史上最落地的实践云原生25个步骤 》。 你会发现

Kubernetes v1.18.2 二进制高可用部署

与世无争的帅哥 提交于 2020-08-09 21:28:44
一、环境 服务器信息 主机名 IP 备注 k8s-master1 192.168.0.216 Master1,etcd1,node节点 k8s-master2 192.168.0.217 Master2,etcd2,node节点 k8s-master3 192.168.0.218 Master3,etcd3,node节点 slb lb.ypvip.com.cn 外网阿里slb域名 本环境使用阿里云, API Server 高可用通过 阿里云SLB 实现,如果环境不在云上,可以通过 Nginx + Keepalived,或者 HaProxy + Keepalived等实现。 服务版本与K8S集群说明 阿里slb 设置 TCP监听 ,监听6443端口(通过四层负载到master apiserver)。 所有 阿里云ECS主机 使用 CentOS 7.6.1810 版本,并且内核都升到 5.x 版本。 K8S 集群使用 Iptables 模式 (kube-proxy 注释中预留 Ipvs 模式配置) Calico 使用 IPIP 模式 集群使用默认 svc.cluster.local 10.10.0.1 为集群 kubernetes svc 解析ip Docker CE version 19.03.6 Kubernetes Version 1.18.2 Etcd Version v3.4

简单聊聊Calico与Flannel

蹲街弑〆低调 提交于 2020-07-24 23:39:04
云栖号资讯:【 点击查看更多行业资讯 】 在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 本人在接触k8s的2年多过程中对于flannel和calico都使用过,也查阅资料了解过此两种网络的底层,今天简单聊聊Calico与Flannel两种网络,如有错误之处欢迎指正。 容器虚拟化网络方案,总体分为2种截然不同的发展路线: 基于隧道 基于路由 基于隧道 1、隧道方案最具普适性,在任何网络环境下都可以正常工作,这与它的原理密不可分。 2、最常见的隧道方案是flannel vxlan模式,以及calico的ipip模式,其核心原理包含了2个部分。 分配网段 每台宿主机上都有网络插件的agent进程,它们连接到etcd集中式存储,从虚拟IP池中申请一个IP段占位己有,宿主机上每个容器则从IP段中分配得到1个虚拟IP。 封装/解封 1)、当不同宿主机上的容器互相访问时,数据包的源IP和目标IP都是容器IP。 2)、数据包经过宿主机的agent进程进行封装后,新数据包的源IP和目标IP则变成了两端宿主机的物理IP。 3)、数据包送到目标宿主机后,经过agent解封后得到原始数据包,并将数据包送入容器中处理,这就给两端容器营造了一种互通的感觉。 4)、因为物理IP属于3层网络,可以在互联网中经过中间路由设备互相送达,所以隧道方案对宿主机之间的网络环境没有特殊要求

Kubeadm安装Kubernetes 1.15.1

断了今生、忘了曾经 提交于 2020-05-05 20:42:49
一、实验环境准备 服务器虚拟机准备 IP CPU 内存 hostname 192.168.198.200 >=2c >=2G master 192.168.198.201 >=2c >=2G node1 192.168.198.202 >=2c >=2G node2 本实验我这里用的VM是vmware workstation创建的,我的机器配置较低,所以master给了2G 2C,node每个给了1G 2C,大家根据自己的资源情况,按照上面给的建议最低值创建即可。 注意:hostname不能有大写字母,比如Master这样的。 软件版本 系统:CentOS7.5.1804 Kubernetes:1.15.1 docker版本:18.06.1-ce 环境初始化操作 3.1 配置hostname hostnamectl set-hostname master hostnamectl set-hostname node1 hostnamectl set-hostname node2 3.2 配置/etc/hosts echo "192.168.198.200 master" >> /etc/hosts echo "192.168.198.201 node1" >> /etc/hosts echo "192.168.198.202 node2" >> /etc/hosts 3.3

TF Live 直播回放丨杨雨:Tungsten Fabric如何增强Kubernetes的网络性能

只愿长相守 提交于 2020-05-01 18:24:52
在混合多云的世界里,Kubernetes是如此流行,已经成为应用统一部署和管理的事实标准,而Tungsten Fabric与Kubernetes的集成,更增强了后者的网络性能和安全性,帮助实现业务落地。 4月28日,在TF中文社区线上直播活动【 TF Live 】中,社区技术代表杨雨与大家进行了在线交流,看看TF与K8s能碰撞出怎样的火花。 直播活动由TF中文社区和SDNLAB联合举办。 【pdf文档下载】 https://tungstenfabric.org.cn/assets/uploads/files/kubernetes-sdn-tungsten-fabric.pdf 【高清视频下载链接】 https://pan.baidu.com/s/1cnwFJ3pmoY7HPnLCH37hbw 提取码:guxu 杨雨曾负责多个大型金融云平台、企业云平台的建设,专注于运维自动化、SDN和分布式存储。作为2016年就接触Tungsten Fabric的老兵,他在4月28日的直播与互动中输出了很多硬核干货,和大家分享了多年的技术积累和实践。 TF就是基于BGP MPLS的V P N Tungsten Fabric曾用名OpenContrail,2018年3月迁移到Linux基金会。一句话概括TF的核心技术,就是基于BGP MPLS V P N技术。 BGP MPLS V P

kubernetes实战(二十六):kubeadm 安装 高可用 k8s 1.16.x dashboard 2.x

偶尔善良 提交于 2020-04-28 18:55:26
1、基本配置   基本配置、内核升级、基本服务安装参考https://www.cnblogs.com/dukuan/p/10278637.html,或者参考《再也不踩坑的Kubernetes实战指南》第一章第一节 2、Kubernetes组件安装   所有节点安装Kubeadm、Kubectl、kubelet yum install -y kubeadm- 1.16 . 0 - 0 .x86_64 kubectl- 1.16 . 0 - 0 .x86_64 kubelet- 1.16 . 0 - 0 .x86_64   所有节点启动Docker [root@k8s-master01 ~]# systemctl enable -- now docker Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/ docker.service. [root@k8s -master01 ~ ]# docker version Client: Version: 17.09 . 1 - ce API version: 1.32 Go version: go1. 8.3 Git commit: 19e2cf6 Built: Thu Dec