flannel

使用kubeadm 安装 kubernetes 1.15.1

*爱你&永不变心* 提交于 2020-05-05 21:41:34
简介: Kubernetes作为Google开源的容器运行平台,受到了大家的热捧。搭建一套完整的kubernetes平台,也成为试用这套平台必须迈过的坎儿。kubernetes1.5版本以及之前,安装还是相对比较方便的,官方就有通过yum源在centos7安装kubernetes。但是在kubernetes1.6之后,安装就比较繁琐了,需要证书各种认证,对于刚接触kubernetes的人来说很不友好。 docker : kubernetes依赖的容器运行时 kubelet: kubernetes最核心的agent组件,每个节点都会启动一个,负责像pods及节点的生命周期等管理 kubectl: kubernetes的命令行控制工具,只可以在master上使用. kubeadm: 用来bootstrap kubernetes. 初始化一个k8s集群. 架构说明: 配置host [root@master /]# cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 18.16.202.163 master 18.16

[转帖] kubeadm搭建kubernetes集群

亡梦爱人 提交于 2020-05-05 20:51:19
http://www.bladewan.com/2018/01/02/kubernetes_install/ 学习中 kubernetes V1.9安装(附离线安装包和离线镜像) 2018-01-02 kubernetes kubernetes 评论 字数统计: 1,724(字) 阅读时长: 8(分) 简介 环境信息(采用一个master节点+两个node节点) master 192.168.2.110 node-1 192.168.2.112 node-2 192.168.2.113 软件版本 kubernetes v1.9 docker:17.03 kubeadm:v1.9.0 kube-apiserver:v1.9.0 kube-controller-manager:v1.9.0 kube-scheduler:v1.9.0 k8s-dns-sidecar:1.14.7 k8s-dns-kube-dns:1.14.7 k8s-dns-dnsmasq-nanny:1.14.7 kube-proxy:v1.9.0 etcd:3.1.10 pause :3.0 flannel:v0.9.1 kubernetes-dashboard:v1.8.1 采用kubeadm安装 kubeadm为kubernetes官方推荐的自动化部署工具

Kubernetes容器集群管理环境

橙三吉。 提交于 2020-05-05 20:44:11
Kubernetes(通常称为"K8S")是Google开源的容器集群管理系统。其设计目标是在主机集群之间提供一个能够自动化部署、可拓展、应用容器可运营的平台。Kubernetes通常结合docker容器工具工作,并且整合多个运行着docker容器的主机集群,Kubernetes不仅仅支持Docker,还支持Rocket,这是另一种容器技术。Kubernetes是一个用于容器集群的自动化部署、扩容以及运维的开源平台。 通过Kubernetes, 可以快速有效地响应用户需求: -> 快速而有预期地部署应用; -> 极速地扩展你的应用; -> 无缝对接新的应用功能; -> 节省资源,优化硬件资源的使用; Kubernetes功能特性: -> 自动化容器部署与复制 -> 随时扩展或收缩容器规模 -> 组织容器成组,提供容器间的负载均衡 -> 快速更新及回滚容器版本 -> 提供弹性伸缩,如果某个容器失效就进行替换 Kubernetes重要组件: 1)Master组件 Master节点上面主要由四个模块组成:APIServer、scheduler、controller manager、etcd -> APIServer : 负责对外提供RESTful的Kubernetes API服务,它是系统管理指令的统一入口,任何对资源进行增删改查的操作都要交给APIServer处理后再提交给etcd

【k8s】kubeadm快速部署Kubernetes

拈花ヽ惹草 提交于 2020-05-05 20:03:03
###1.Kubernetes 架构图### kubeadm是官方社区推出的一个用于快速部署kubernetes集群的工具。 这个工具能通过两条指令完成一个kubernetes集群的部署: # 创建一个 Master 节点 $ kubeadm init # 将一个 Node 节点加入到当前集群中 $ kubeadm join <Master节点的IP和端口 > 使用它构建集群时,大致可分为如下几步: 在Master及各Node安装Docker、kubelet及kubeadm,并以系统守护进程的方式启动Docker和kubelet服务。 在Master节点上通过kubeadminit命令进行集群初始化。 各Node通过kubeadmjoin命令加入初始化完成的集群中。 在集群上部署网络附件,如flannel或Calico等以提供Service网络及Pod网络。 ###2.Kubernetes 环境准备### 1⃣️关闭防火墙: systemctl stop firewalld && systemctl disable firewalld 2⃣️关闭selinux: sed -i 's/enforcing/disabled/' /etc/selinux/config setenforce 0 3⃣️关闭swap: #临时 swapoff -a #永久关闭swap分区 sudo sed

kubeadm单集群部署k8s1.15.1&flannel网络

被刻印的时光 ゝ 提交于 2020-05-05 19:05:56
说明 本次实验在Windows下的VMware进行 系统配置及初始化配置在所有的主机执行 容器镜像全部替换为国内可拉取的 pod网络采用flannel 实验环境 主机名 IP地址 角色 OS CPU/MEM 网卡/模式 平台 k8s-master01 192.168.181.158 master CentOS7.6 2C/2G x1/NAT VMware k8s-node1 192.168.181.159 node1 CentOS7.6 2C/2G x1/NAT VMware k8s-node2 192.168.181.160 node2 CentOS7.6 2C/2G x1/NAT VMware 初始配置 基本配置为三个主机都需要的操作 history格式设置 cat >> /etc/bashrc << "EOF" # history actions record,include action time, user, login ip HISTFILESIZE= 4000 HISTSIZE= 4000 USER_IP=` who -u am i 2> /dev/ null| awk '{print $NF}'|sed -e 's/[()]//g'` if [ -z $USER_IP ] then USER_IP=` hostname` fi HISTTIMEFORMAT= "%F

一步一步搞定Kubernetes二进制部署(一)——etcd集群搭建(单节点)

放肆的年华 提交于 2020-05-05 10:06:39
一步一步搞定Kubernetes二进制部署(一)——etcd集群搭建(单节点) 前言 ​ 前面简单介绍了Kubernetes的基础理论原理与核心组件,本文将给出单节点以二进制部署Kubernetes集群的第一个步骤——搭建etcd集群实验流程。 集群规划清单(之后的文章将按照该规划一步一步配置) 1、三个节点上部署etcd集群 2、两个node节点上部署docker环境、部署flannel(容器内部之间的通信,依赖于vxlan技术) 3、master节点上部署kube-apiserver、kube-controller-manager、kube-scheduler 4、node节点上部署kubelet、kube-proxy 服务器ip地址规划 master01地址:192.168.0.128 node01地址:192.168.0.129 node02地址:192.168.0.130 本文将给出的是etcd集群的搭建配置流程。 搭建流程 1、环境准备 ​ 三台服务器建议设置主机名称、绑定静态ip和关闭网络管理服务,其次需要关闭防火墙和核心防护,清空iptables 这里以master01为例,其他节点按照此节点类似设置即可 [root@localhost ~]# hostnamectl set-hostname master01 [root@localhost ~]# su

Kubernetes V1.10 二进制部署集群

南楼画角 提交于 2020-05-02 14:29:54
1. 架构篇 1.1 kubernetes 架构说明 1.2 Flannel网络架构图 1.3 Kubernetes工作流程 2. 组件介绍 2.1 Master节点 2.1.1 、网关服务 API Server:提供Kubernetes API接口,主要处理REST操作以及更新ETCD中的对象。所有资源增删改查的唯一入口   只有API Server才直接操作etcd   其他模块通过API Server查询活修改数据   提供其他模块之间的数据交互和通信的枢纽 2.1.2、 调度器 Scheduler:资源调度,负责分配调度Pod到集群内的Node节点   监听kube - apiserver,查询还未分配Node的Pod   根据调度策略为这些Pod分配节点 2.1.3、 控制器 Controller Manager:所有其他群集级别的功能。目前由控制器Manager执行。资源对象的自动化控制中心。它通过apiserver监控整个集群的状态,并确保集群处于预期的工作状态。 2.1.4、 存储 ETCD:所有持久化的状态信息存储在ETCD中 2.2 Node节点 2.2.1、Kubelet:管理Pods以及容器、镜像、Volume等,实现对集群对节点的管理。 2.2.2、Kube- proxy:提供网络代理以及负载均衡,实现与Service通信。 2.2.3、 Docker

002.使用kubeadm安装kubernetes 1.17.0

允我心安 提交于 2020-05-02 11:02:40
一 环境准备 1.1 环境说明 master 192.168.132.131 docker-server1 node1 192.168.132.132 docker-server2 node2 192.168.132.133 docker-server3 1.2 docker版本 [root@docker-server1 ~]# docker version Client: Docker Engine - Community Version: 19.03 . 5 API version: 1.40 Go version: go1. 12.12 Git commit: 633a0ea Built: Wed Nov 13 07 : 25 : 41 2019 OS /Arch: linux/ amd64 Experimental: false Server: Docker Engine - Community Engine: Version: 19.03 . 5 API version: 1.40 (minimum version 1.12 ) Go version: go1. 12.12 Git commit: 633a0ea Built: Wed Nov 13 07 : 24 : 18 2019 OS /Arch: linux/ amd64 Experimental: false

记一次问题排查:为什么在POD无法通过Service访问自己?

放肆的年华 提交于 2020-05-01 18:16:11
问题现象 创建一个nginx pod,并配置了service访问,service后端指向pod。 进入pod中使用service ip 或者service 域名,无法访问。 一开始以为是环境配置或者k8s版本(1.9)的问题,在其他1.13的kubernetes环境下也试了,还是同样的问题。 环境配置 使用的cni插件是flannel,但不是容器化安装,也不是标准化的通过kubelet指定cni plugin(--cni-bin-dir,--cni-conf-dir参数),而是通过dockerd 提供的 -bip 参数指定容器的子网,而这个值是从 /run/flannel/subnet.env (flannel会将获取到的子网写入到该文件) 排查过程 1、首先尝试通过pod ip尝试是否可访问,已验证是可通的。 2、尝试对docker0网桥进行抓包 tcpdump -i docker0 神奇的在这里,再次尝试通过service 访问是居然可以通,发现只要tcpdump断开就不行了。 到这里的时候有点觉得诡异了 在pod内通过service访问的时候网络的流向应该是 pod内部访问service->docker0网桥->宿主机的iptables规则->docker0网桥->pod内部 查阅了相关资料后,看到kubelet有个 --hairpin-mod 参数: 文档说明:

centos7上使用kubeadm安装k8s集群

…衆ロ難τιáo~ 提交于 2020-04-28 15:33:19
之前为熟悉k8s各组件的部署和配置,手动安装了k8s集群,过程较为繁琐。且安装的版本较低(docker:Version:1.13.1;Kubernetes v1.5.2)。由于最近在学习k8s的包管理工具helm,需要依赖较高版本的kubectl,所以使用kubeadm重新搭建了一套k8s集群。过程和大家分享下。 新集群版本(docker:Version:18.06.1-ce;Kubernetes v1.18.0) 开始: k8s-master:192.168.50.223 k8s-node01:192.168.50.224 一:安装前准备 1、master和node都: yum update 后重启服务器 2、关闭防火墙和selinux,配置hosts 3、将桥接的IPv4流量传递到iptables的链: $ cat > /etc/sysctl.d/k8s.conf << EOF net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 EOF $ sysctl --system 二:安装 1、配置yum源(master和node) 由于墙的原因,这里都使用阿里云的开源镜像站 docker源 wget https://mirrors.aliyun.com/docker-ce