虚拟侵入

kubeadm安装kubernetes 1.16.2

▼魔方 西西 提交于 2019-12-01 19:04:25
目录 简介 环境说明 安装 准备基础环境 安装docker 安装kubeadm、kubelet、kubectl 配置kubeadm-config.yaml 部署master 安装flannel网络插件 添加节点 安装dashboard 部署ingress 重置集群 简介 当前kubernetes的最新版本已经到了1.16,而kubernetes官方推出的安装工具kubeadm也已经GA。本文就基于kubeadm来安装最新的kubernetes集群。 各组件示意图如下: 环境说明 部署环境: 主机名 ip地址 节点类型 系统版本 master.example.com 192.168.0.1 master、etcd centos7 node1.example.com 192.168.0.2 node centos7 相关组件版本说明: 组件 版本 说明 kubernetes 1.16.2 主程序 docker 19.03.3 容器 flannel 0.11.0 网络插件 etcd 3.3.15 数据库 coredns 1.6.2 dns组件 kubernetes-dashboard 2.0.0-beta5 web界面 ingress-nginx 0.26.1 ingress 安装 安装步骤说明: 配置主机名、防火墙、yum源 配置内核参数 加载内核模块 安装Docker

干货|Kubernetes集群部署
Nginx-ingress Controller

筅森魡賤 提交于 2019-12-01 08:29:05
Kubernetes提供了两种内建的云端负载均衡机制用于发布公共应用,一种是工作于传输层的Service资源,它实现的是TCP负载均衡器;另一种是Ingress资源,它实现的是HTTP(S)负载均衡器。 今天我们来重点讨论Ingress资源。HTTP(S)负载均衡器是应用层负载均衡机制的一种,支持根据环境做出更好的调度决策。与传输层调度器相比,它提供了可自定义URL映射和TLS等功能,并支持多种健康状态检查机制。 Ingress是Kubernetes API的标准资源类型之一,它其实就是一组基于DNS名称或URL路径把请求转发至指定的Service资源的规则,用于将集群外部的请求流量转发至集群内部完成服务发布。然而,Ingress资源自身并不能进行“流量穿透”,它仅是一组路由规则的集合,这些规则要想真正发挥作用还需要其他功能的辅助,如监听某套接字,然后根据这些规则的匹配机制路由请求流量。这种能够为Ingress资源监听套接字并转发流量的组件称为Ingress Controller。 一、部署Helm Helm是一个包管理工具, 把Kubernetes资源(比如deployments、services或 ingress等) 打包到一个chart中,方便将其chart保存到chart仓库用来存储和分享, Helm支持发布应用配置的版本管理, 使发布可配置,

kubernetes 部署ingress

非 Y 不嫁゛ 提交于 2019-12-01 07:22:45
kubernetes 部署ingress https://www.cnblogs.com/dingbin/p/9754993.html 明天尝试一下 之前的文档里面一直没有提 需要改host文件 我有点懵逼了。 kubernetes Ingess 是有2部分组成,Ingress Controller 和Ingress服务组成,常用的Ingress Controller 是ingress-nginx,工作的原理是: Ingress Controller 会动态感知集群中的Ingress的规则变化,然后读取,动态生成Nginx的配置文件,最后注入到运行nginx的pod的中,然后会自动reload,配置生效。 用kubernetes Ingress 是由于它是7层调度,可以直接卸载https会话,代理的后端的pod可以直接使用明文的http协议。 而Service NodePort得类型,是4层得调度,做不到这点,然而现在https是一种趋势,所以在kubernetes 对外暴露服务得时候我们还是要选择Ingress。 下面我们来看下Ingress得部署: 首先创建一个文件夹专门放置Igress得yaml得文件,mkdir ingress 创建后端代理得pod得yaml文件,如下: apiVersion: v1 kind: Service metadata: name: myapp

Kubernetes上的负载均衡详解

。_饼干妹妹 提交于 2019-11-30 23:44:57
如果您的应用程序是面向大量用户、会吸引大量流量,那么一个不变的目标一定是在高效满足用户需求的同时、不让用户感知到任何类似于“服务器繁忙!”的情况。这一诉求的典型解决方案是横向扩展部署,以便有多个应用程序容器可以为用户请求提供服务。但是,这种技术需要可靠的路由功能,需要可以有效地在多个服务器之间分配流量。本文分享的内容就是要解决负载均衡解决方案的问题。 Rancher 1.6是Docker和Kubernetes的容器编排平台,为负载均衡提供了功能丰富的支持。在Rancher 1.6中,用户可以通过使用开箱即用的HAProxy负载均衡器,来提供基于HTTP / HTTPS / TCP主机名/路径的路由。 而在本文中,我们将探讨如何在原生使用Kubernetes进行编排的Rancher 2.0平台上实现这些流行的负载均衡技术。 Rancher 2.0 负载均衡功能 通过Rancher 2.0,用户可以开箱即用地使用由NGINX Ingress Controller支持的原生Kubernetes Ingress功能进行7层负载均衡。因为Kubernetes Ingress仅支持HTTP和HTTPS协议,所以目前如果您使用的是Ingress支持,那么负载均衡仅限于上述这两种协议。 对于TCP协议,Rancher 2.0支持在部署Kubernetes集群的云上配置第4层TCP负载均衡器

通过Service访问应用 (2)

对着背影说爱祢 提交于 2019-11-30 16:15:25
目录 使用Ingress来负载分发微服务 Demo规划 准备Demo并完成部署 创建部署(Deployment)资源 创建服务(Service)资源 创建Ingress资源并配置转发规则 使用Ingress来负载分发微服务 NodePort Service存在太多缺陷,不适合生产环境。LoadBlancer Service则不太灵活,比如针对微服务架构,那么不同服务是否需要多个负载均衡服务呢?那么,我们还有其他选择么?那就是Ingress。 Ingress将集群外部的HTTP和HTTPS路由暴露给集群中的Service,相当于集群的入口,而入口规则则由Ingress定义的规则来控制。在使用Ingress之前,我们先需要有一个Ingress Controller(入口控制器),例如ingress-nginx。Ingress负责定义抽象的规则,而Ingress Controller负责具体实现。通常情况下,Ingress搭配负载均衡一起使用。接下来,笔者结合一个简单的微服务Demo来使用Ingress进行负载分发。由于需要使用到负载均衡服务,本教程使用腾讯云容器服务进行讲解。 Demo规划 为了便于大家理解,我们先做一个简单的规划。整体规划图如下所示: 如图所示,整体步骤如下所示: 我们需要开发两个应用,分别为apidemo1和apidemo2,并提供不同的接口服务;

K8s Ingress Nginx 支持 Socket.io

﹥>﹥吖頭↗ 提交于 2019-11-30 04:13:55
Ingress 及 Ingress Controller 简介 Ingress :是 k8s 资源对象 ,用于对外暴露服务,该资源对象定义了不同主机名(域名)及 URL 和对应后端 Service(k8s Service)的绑定,根据不同的路径路由 http 和 https 流量。 Ingress Contoller :是一个 pod服务 ,封装了一个 Web前端负载均衡器 ,同时在其基础上实现了 动态感知Ingress 并根据Ingress的定义动态生成 前端web负载均衡器的配置文件 ,比如 Nginx Ingress Controller 本质上就是一个 Nginx ,只不过它能根据 Ingress 资源的定义动态生成 Nginx 的配置文件,然后 动态 Reload 。 Ingress Controller 工作架构 借用 traefik 官方的图 Ingress Nginx 部署 下面是根据官方yaml文件基础上修改 apiVersion : v1 kind : Namespace metadata : name : ingress - nginx labels : app.kubernetes.io/name : ingress - nginx app.kubernetes.io/part-of : ingress - nginx --- kind :

干货|Kubernetes集群部署
Nginx-ingress Controller

可紊 提交于 2019-11-30 03:55:59
Kubernetes提供了两种内建的云端负载均衡机制用于发布公共应用,一种是工作于传输层的Service资源,它实现的是TCP负载均衡器;另一种是Ingress资源,它实现的是HTTP(S)负载均衡器。 今天我们来重点讨论Ingress资源。HTTP(S)负载均衡器是应用层负载均衡机制的一种,支持根据环境做出更好的调度决策。与传输层调度器相比,它提供了可自定义URL映射和TLS等功能,并支持多种健康状态检查机制。 Ingress是Kubernetes API的标准资源类型之一,它其实就是一组基于DNS名称或URL路径把请求转发至指定的Service资源的规则,用于将集群外部的请求流量转发至集群内部完成服务发布。然而,Ingress资源自身并不能进行“流量穿透”,它仅是一组路由规则的集合,这些规则要想真正发挥作用还需要其他功能的辅助,如监听某套接字,然后根据这些规则的匹配机制路由请求流量。这种能够为Ingress资源监听套接字并转发流量的组件称为Ingress Controller。 一、部署Helm Helm是一个包管理工具, 把Kubernetes资源(比如deployments、services或 ingress等) 打包到一个chart中,方便将其chart保存到chart仓库用来存储和分享, Helm支持发布应用配置的版本管理, 使发布可配置,

新书推荐《再也不踩坑的Kubernetes实战指南》

依然范特西╮ 提交于 2019-11-29 16:29:26
  《再也不踩坑的Kubernetes实战指南》终于出版啦。目前可以在京东、天猫购买,京东自营和当当网预计一个星期左右上架。   本书贴合生产环境经验,解决在初次使用或者是构建集群中的痛点,帮你在探索Kubernetes集群的路途中,铺上一条水泥路~   本书以实战经验为主线,介绍了如何在企业中快速构建自动化管理运维平台,打造公司一键式的CI/CD平台,本书内容基于企业常用概念编写,没有过多的废话,几乎全是干货,适用于99%的企业~   本书目录分割、条理清晰,易于阅读,目录如下: 第1章 Kubernetes高可用安装 1.1 kubeadm高可用安装k8s集群1.11.x和1.12.x 1.1.1 基本环境配置 1.1.2 内核升级 1.1.3 基本组件安装 1.1.4 集群初始化 1.1.5 Calico组件的安装 1.1.6 高可用Master 1.1.7 Node节点的配置 1.1.8 Metrics-Server部署 1.1.9 Dashboard部署 1.2 kubeadm高可用安装k8s集群1.13.x和1.14.x 1.2.1 基本组件安装 1.2.2 集群初始化 1.2.3 Calico组件的安装 1.2.4 高可用Master 1.2.5 Node节点的配置 1.3 二进制高可用安装k8s集群1.13.x和1.14.x 1.3.1 基本组件安装 1.3.2

Kubernetes进阶之ingress-nginx

限于喜欢 提交于 2019-11-29 07:01:36
Kubernetes进阶之ingress-nginx 目录: 一 从外部访问应用最佳方式 二 配置管理 三 数据卷与数据持久卷 四 再谈有状态应用部署 五 K8S 安全机制 说在前面的话,选择nodeport的方式去暴露端口,那你需要得去判断暴露的端口有没有被占用,再创建新的应用会判断端口有没有被分配出去 nodeport本身是基于默认的iptables的代理模式做的网络转发,也就是SANT,DANT,基于四层的,做七层是做不了的,性能差一点,因为它需要防火墙的转发和过滤。 一、从外部访问应用最佳方式 Pod与Ingress的关系 • 通过Service相关联 • 通过Ingress Controller实现Pod的负载均衡 支持TCP/UDP 4层和HTTP 7层 Ingress Controller controller类似装的k8s组件,时常的要去api去交互,时常去获取api的相关的信息,刷新自己的规则,类似与其他控制器 ingress,k8s设计了一个比较全局性的负载均衡器,准确的来说Ingress它是k8s中的一个规则,实现这个规则就是使用的这个控制器,一般称为ingress控制器 ingress控制器主要做的工作就是,它访问到这个控制器,它帮你转发的具体pod,也就是集群池,关联的哪些应用,哪些pod的IP,会帮你关联出来,暴露的端口80,443 1

Contour 学习笔记(一):使用 Contour 接管 Kubernetes 的南北流量

有些话、适合烂在心里 提交于 2019-11-28 23:47:37
原文链接: Contour 学习笔记(一):使用 Contour 接管 Kubernetes 的南北流量 在 Kubernetes 中运行大规模以 Web 为中心的工作负载,最关键的需求之一就是在 L7 层实现高效流畅的入口流量管理。自从第一批 Kubernetes Ingress Controller 开发完成以来, Envoy (由 Matt Klein 和 Lyft 团队开发)已经成为云原生生态系统中的新生力量。Envoy 之所以受到支持,因为它是一个 CNCF 托管的项目,与整个容器圈和云原生架构有着天然的支持。 容器公司 Heptio 开源的项目 Contour 使用 Envoy 作为 Kubernetes 的 Ingress Controller 实现,为大家提供了一条新的 Kubernetes 外部负载均衡实现思路。 据 官方博客 介绍, Heptio Contour 可以为用户提供以下好处: 一种简单的安装机制来快速部署和集成 Envoy。 与 Kubernetes 对象模型的集成。 Ingress 配置的动态更新,而无需重启底层负载均衡器。 项目成熟后,将允许使用 Envoy 一些强大的功能,如熔断器、插件式的处理器链,以及可观测性和可调试性,可以非常方便地对接监控系统。 IngressRoute 之间可以级联,用来做蓝绿部署非常方便。 下面我们就来试用一下。 1