etcd

k8s入门详细介绍

筅森魡賤 提交于 2020-08-13 16:15:27
阅读目录 1.k8s集群的安装 1.1k8s集群架构: master节点:etcd,api-server,scheduler,controller-manager node节点:kubelet,kube-proxy etcd的作用:数据库 api-server:核心服务 controller-manager:控制器控制rc scheduler:创建新pod,选择合适的节点 kubelet:调用docker来创建容器 kube-proxy:对外提供用户访问,对内提供一个负载均衡器 1.6所有节点配置flannel网络 作用:跨节点容器间的通信 a.安装etcd b.安装配置flannel c.重启docker生效 1.7配置master为docker镜像私有仓库 a.速度快 b.保护隐私 2.什么是k8s,k8s有什么功能? 2.1k8s的核心功能 自愈:当pod挂了的时候会自动重启 弹性伸缩: 服务自动发现和负载均衡: 滚动升级和一键回滚: 密码和配置文件管理: 2.2k8s历史 2.3k8s的安装方式 yum 源码编译(极不推荐) 二进制 生产使用 kubeadm 生产使用 3.k8s常用资源 3.1创建pod资源 k8s最小资源单位 pod资源至少包含两个容器,基础容器pod+业务容器 3.2ReplictionController资源 保证指定数量的pod运行

Kubernetes promtheus-operator收集指标

只愿长相守 提交于 2020-08-13 13:27:53
个人理解. Kubernetes资源相关: 1 CPUThrottlingHigh CPU的limit合理性指标 表达式: sum(increase(container_cpu_cfs_throttled_periods_total{container!="", }[5m])) by (container, pod, namespace) / sum(increase(container_cpu_cfs_periods_total{}[5m])) by (container, pod, namespace) > ( 25 / 100 ) 作用: 查出最近5分钟,超过25%的CPU执行周期受到限制的container,使用到kubelet的两个指标 container_cpu_cfs_periods_total:container 生命周期中度过的cpu周期总数 container_cpu_cfs_throttled_periods_total:container 生命周期中度过的受限的cpu周期总数 2 KubeCPUOvercommit 集群CPU过度使用 表达式: sum(namespace:kube_pod_container_resource_requests_cpu_cores:sum{}) / sum(kube_node_status_allocatable_cpu

ansible取出register变量中最长字符串

家住魔仙堡 提交于 2020-08-13 08:28:50
背景 在用ansible撰写一个etcd恢复的playbook时,有一个操作是获取etcd启动时的"initial-cluster"启动参数,该参数在etcd集群不同节点不一致,需要取出etcd节点启动参数中最长的作为etcdctl snapshot restore的参数。 [root@tke-init ansible]# cat etcd.hosts [etcd] 10.0.32.79 10.0.32.41 10.0.32.97 [snapshot] 10.0.32.79 recoverySnapFile=/alauda/etcd_bak/snap-202005250843.db [root@tke-init ansible]# cat c.yaml --- - name: etcd snapshot recovery gather_facts: false hosts: all tasks: - name: get the initial-cluster info shell: |+ cat /etc/kubernetes/manifests/etcd.yaml |grep "initial-cluster="|sed 's/.*initial-cluster=//' register: initialCluster - debug: msg: "{

带着问题学 Kubernetes 架构!

核能气质少年 提交于 2020-08-13 04:56:30
作者:jasonGeng88 www.github.com/jasonGeng88/blog 打开这篇文章的同学,想必对 docker 都不会陌生。docker 是一种虚拟容器技术,它上手比较简单,只需在宿主机上起一个 docker engine,然后就能愉快的玩耍了,如:拉镜像、起容器、挂载数据、映射端口等等。 相对于 Kubernetes( K8S )的上手,可谓简单很多。那么 K8S 是什么,又为什么上手难度大? K8S 是一个基于容器技术的分布式集群管理系统,是谷歌几十年来大规模应用容器技术的经验积累和升华的一个重要成果。 所以为了能够支持大规模的集群管理,它承载了很多的组件,而且分布式本身的复杂度就很高。又因为 K8S 是谷歌出品的,依赖了很多谷歌自己的镜像,所以对于国内的同学环境搭建的难度又增加了一层。 下面,我们带着问题,一步步来看 K8S 中到底有哪些东西? 首先,既然是个分布式系统,那势必有多个 Node 节点(物理主机或虚拟机),它们共同组成一个分布式集群,并且这些节点中会有一个 Master 节点,由它来统一管理 Node 节点。 问题一:主节点和工作节点是如何通信的呢? 首先,Master 节点启动时,会运行一个 kube-apiserver 进程,它提供了集群管理的 API 接口,是集群内各个功能模块之间数据交互和通信的中心枢纽

etcd环境安装与使用

别来无恙 提交于 2020-08-13 03:32:04
etcd简介 etcd 是开源的、高可用的分布式key-value存储系统,可用于配置共享和服务的注册和发现,它专注于: 简单:定义清晰、面向用户的API(gRPC) 安全:可选的客户端TLS证书自动认证 快速:支持每秒10,000次写入 可靠:基于Raft算法确保强一致性 etcd与redis差异 etcd和redis都支持键值存储,也支持分布式特性,redis支持的数据格式更加丰富,但是他们两个定位和应用场景不一样,关键差异如下: redis在分布式环境下不是强一致性的,可能会丢失数据,或者读取不到最新数据 redis的数据变化监听机制没有etcd完善 etcd强一致性保证数据可靠性,导致性能上要低于redis etcd和ZooKeeper是定位类似的项目,跟redis定位不一样 为什么用 etcd 而不用ZooKeeper? 相较之下,ZooKeeper有如下缺点: 复杂 :ZooKeeper的部署维护复杂,管理员需要掌握一系列的知识和技能;而 Paxos 强一致性算法也是素来以复杂难懂而闻名于世;另外,ZooKeeper的使用也比较复杂,需要安装客户端,官方只提供了 Java 和 C 两种语言的接口。 难以维护 :Java 编写。这里不是对 Java 有偏见,而是 Java 本身就偏向于重型应用,它会引入大量的依赖。而运维人员则普遍希望保持强一致、高可用的机器集群尽可能简单

阿里云李响荣获 2020 中国开源杰出贡献人物奖,我们找他聊了聊开源和云原生

半城伤御伤魂 提交于 2020-08-13 03:21:43
作者 | 禾易 在第十五届“开源中国开源世界”高峰论坛上,阿里云资深技术专家、etcd 创始人、CNCF TOC 李响荣获 2020 中国开源杰出人物贡献奖。恭喜李响! 去年,全球顶级开源社区云原生计算基金会 CNCF 正式宣布其技术监督委员会席位改选结果。阿里云资深技术专家李响入选,成为该委员会有史以来首张中国面孔。 李响是 CoreOS 最早期的工程师之一,参与创建了 etcd、operator framework、rkt 等开源项目。而在开源社区中,李响作为 etcd 作者被开发者所熟知,etcd 是国际知名且被最为广泛使用的分布式一致性存储系统,被阿里巴巴、腾讯、华为、腾讯、微软、谷歌、VMWare 等企业在生产环境和客户产品中使用,用来解决分布式系统中重要元信息存储、管理和备份的问题,以及分布式系统组件一致性协调的问题。 在加入阿里云后,李响一直在推动云原生领域自动化运维相关理念、Operator 概念、OAM 标准的建立。Operator 给予开发和运维人员在云原生平台构建无状态和复杂应用运维的理论标准和实践基础,大幅度提高了云原生运维平台的覆盖度,在开源生态中涌现出了超过 500 个 Operator 具体实现,覆盖了几乎所有的主流云原生软件的运维,其中包含 RocketMQ、Kafka、ZooKeeper、Consul、Argo、Kubeflow 等

Kubernetes/K8s CKA认证全套实训视频教程下载

自古美人都是妖i 提交于 2020-08-13 01:46:11
地址: 链接: https://pan.baidu.com/s/1bwEUZTCVzqM3mGjrlISbcg 提取码:r1kx 目录: 目录: │ 1-1、kubernetes理论教程 - 云原生技术的前世今生.mp4 │ 1-2、kubernetes理论教程 - K8S初体验.mp4 │ 1-3、kubernetes理论教程 - K8s工作负载原理剖析和实践.mp4 │ 1-4、kubernetes理论教程 - K8s调度器原理剖析和实践.mp4 │ 1-5、kubernetes理论教程 - K8S网络模型原理剖析与实践.mp4 │ 1-6、kubernetes理论教程 - K8S服务发现与负载均衡原理剖析与实践.mp4 │ 1-7、kubernetes理论教程 - K8S存储原理剖析与实践.mp4 │ 1-8、kubernetes理论教程 - K8S安全原理剖析与实践.mp4 │ 2-10、Kubernetes CKA认证培训 - K8S集群运维.mp4 │ 2-11、Kubernetes CKA认证培训 - K8S故障排查 (上).mp4 │ 2-12、Kubernetes CKA认证培训 - K8S故障排查(下).mp4 │ 2-13、Kubernetes CKA认证培训 - 《K8s CKA官方认证实战班介绍》.mp4 │ 2-1、Kubernetes CKA认证培训

通过kubeadm安装kubernetes

不羁岁月 提交于 2020-08-12 23:59:56
本文主要讲解在centos7下kubentes安装 1 单机安装 1.1 通过minikube安装(官方minikube) 本小节主要讲解通过minikube工具安装一个本地单机kubenetes 1.1.1 minikube 安装 如果需要在虚拟机里边安装的话,需要首先安装虚拟机软件、如 VirtualBox KVM 等, 本文直接安装在计算机中,所以不依赖虚拟机,直接安装的话有些minikube的命令就不支持了,比如minikube docker-env等命令。 minikube安装很简单,只有一个可执行文件 执行如下命令 [root@k8s-1 ~]# curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 [root@k8s-1 ~]# chmod +x minikube [root@k8s-1 ~]# sudo cp minikube /usr/local/bin [root@k8s-1 ~]# rm minikube 查看是否安装成功 [root@k8s-1 ~]# minikube version minikube version: v1.0.1 minikube 常见命令: minikube version,查看minikube的版本

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

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

【华为云技术分享】跟唐老师学习云网络 : Kubernetes网络实现

懵懂的女人 提交于 2020-08-12 06:40:29
当今K8s独霸天下之时,咱们站在更高的角度,好好的看看K8s网络是以什么理念构筑的。以及一个容器集群的好保姆,是如何分别照顾 南北流量和东西流量的。 一、简单介绍下Kubernetes 略。。容器集群管理的事实标准了,不知道要打屁股。 (ps:本章节可参考唐老师的《K8S前世今生》文章) 二、世界上的集群都一个样 有点标题党哈,不过我接触过的各种集群也不少,各种各样: Ø OpenStack:在一大堆物理机上面,管理(启动/停止)VM的。 Ø SGE,Slurm,PBS:在一大堆电脑集群里面,管理(启动/停止)App的。 Ø Yarn:在一大堆电脑集群里面,管理(启动/停止)大数据App的。 Ø CloudFoundry:在一大堆电脑集群里面,管理(启动/停止)容器的 Ø Kubernetes:在一大堆电脑集群里面,管理(启动/停止)容器的。 它们都有一些共同特点: 2.1 跨节点跑xx程序 这个xx程序一定是首先单机可以运行的。比如OpenStack:单机上面可以用qemu启动VM,想跨节点管理VM,就引入了OpenStack。Kubernetes也一样:单机上面可以跑Docker容器;想跨节点管理容器,就得引入集群管理老大的概念。 2.2 有一个管事的老大 A)集群管理的老大,负责让手下的某个小弟干活。别管是命令式(直接下命令)的,还是申明式(发告示)的,小弟收到命令后