Kubernetes系列学习
文章平均质量分 91
Kubernetes系列学习笔记
胡伟煌
容器云相关生态技术研究(Docker,Kubernetes等)
展开
-
使用minikube快速部署k8s集群
以下内容基于Linux系统,特别为Ubuntu系统1. 安装kubectlcurl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/...原创 2018-08-08 12:36:49 · 7723 阅读 · 1 评论 -
使用kubespary安装k8s集群
1. 环境准备1.1. 部署机器 以下机器为虚拟机 机器IP 主机名 角色 系统版本 备注 172.16.94.140 kube-master-0 k8s master Centos 4.17.14 内存:3G 172.16.94.141 kube-node-41 k8s node Centos 4.17....原创 2018-08-11 17:59:07 · 4937 阅读 · 0 评论 -
Kubernetes总架构图
本文个人博客地址为:http://www.huweihuang.com/article/kubernetes/kubernetes-architecture/本文个人博客地址为:https://huweihuang.net/article/kubernetes/kubernetes-architecture/1. Kubernetes的总架构图2. Kubernetes各个组件介绍2.1. kub...原创 2017-05-07 10:30:10 · 57002 阅读 · 1 评论 -
kubernetes集群问题排查
本文个人博客地址为:http://www.huweihuang.com/article/kubernetes/kubernetes-troubleshooting/本文个人博客地址为:https://huweihuang.net/article/kubernetes/kubernetes-troubleshooting/1. 查看系统Event事件kubectl describe pod <...原创 2017-05-07 10:48:36 · 26035 阅读 · 0 评论 -
基于Docker及Kubernetes技术构建容器云(PaaS)平台概述
本文个人博客地址为:http://www.huweihuang.com/article/kubernetes/paas-based-on-docker&kubernetes/本文个人博客地址为:https://huweihuang.net/article/kubernetes/paas-based-on-docker&kubernetes/【编者的话】目前很多的容器云平台通过Doc...原创 2017-07-23 17:39:38 · 44701 阅读 · 1 评论 -
Kubernetes基本概念(一)之理解Kubernetes对象
1. kubernetes对象概述kubernetes中的对象是一些持久化的实体,可以理解为是对集群状态的描述或期望。包括:集群中哪些node上运行了哪些容器化应用应用的资源是否满足使用应用的执行策略,例如重启策略、更新策略、容错策略等。kubernetes的对象是一种意图(期望)的记录,kubernetes会始终保持预期创建的对象存在和保持集群运行在预期的状态下。操作原创 2018-01-15 20:03:55 · 2204 阅读 · 0 评论 -
Kubernetes基本概念(二)之k8s常用对象说明
1. Master集群的控制节点,负责整个集群的管理和控制,kubernetes的所有的命令基本都是发给Master,由它来负责具体的执行过程。1.1. Master的组件kube-apiserver:资源增删改查的入口kube-controller-manager:资源对象的大总管kube-scheduler:负责资源调度(Pod调度)etcd Server:kubern原创 2017-08-09 21:30:06 · 7756 阅读 · 0 评论 -
Kubernetes基本概念(三)之Pod详解
1. Pod的定义文件apiVersion: v1kind: Podmetadata: name: string namaspace: string labels: - name: string annotations: - name: stringspec: containers: - name: string images: string i原创 2017-09-28 16:27:36 · 19038 阅读 · 4 评论 -
Kubernetes基本概念(四)之资源配额详解
1. 资源配额(ResourceQuota)ResourceQuota对象用来定义某个命名空间下所有资源的使用限额,其实包括:计算资源的配额存储资源的配额对象数量的配额如果集群的总容量小于命名空间的配额总额,可能会产生资源竞争。这时会按照先到先得来处理。 资源竞争和配额的更新都不会影响已经创建好的资源。1.1. 启动资源配额Kubernetes 的众多发行版本默认...原创 2018-06-21 11:12:54 · 5185 阅读 · 1 评论 -
Kubernetes核心原理(一)之API Server
1. API Server简介k8s API Server提供了k8s各类资源对象(pod,RC,Service等)的增删改查及watch等HTTP Rest接口,是整个系统的数据总线和数据中心。kubernetes API Server的功能:提供了集群管理的REST API接口(包括认证授权、数据校验以及集群状态变更);提供其他模块之间的数据交互和通信的枢纽(其他模块通原创 2017-07-21 23:17:14 · 16672 阅读 · 0 评论 -
Kubernetes核心原理(二)之Controller Manager
1. Controller Manager简介Controller Manager作为集群内部的管理控制中心,负责集群内的Node、Pod副本、服务端点(Endpoint)、命名空间(Namespace)、服务账号(ServiceAccount)、资源定额(ResourceQuota)的管理,当某个Node意外宕机时,Controller Manager会及时发现并执行自动化修复流程,确保原创 2017-07-21 23:33:27 · 27164 阅读 · 2 评论 -
Kubernetes核心原理(三)之Scheduler
1. Scheduler简介Scheduler负责Pod调度。在整个系统中起"承上启下"作用,承上:负责接收Controller Manager创建的新的Pod,为其选择一个合适的Node;启下:Node上的kubelet接管Pod的生命周期。Scheduler:1)通过调度算法为待调度Pod列表的每个Pod从Node列表中选择一个最适合的Node,并将信息写入etcd中原创 2017-08-09 21:34:21 · 4450 阅读 · 0 评论 -
Kubernetes核心原理(四)之Kubelet
1. kubelet简介在kubernetes集群中,每个Node节点都会启动kubelet进程,用来处理Master节点下发到本节点的任务,管理Pod和其中的容器。kubelet会在API Server上注册节点信息,定期向Master汇报节点资源使用情况,并通过cAdvisor监控容器和节点资源。可以把kubelet理解成【Server-Agent】架构中的agent,是Node上的pod管家。原创 2017-09-10 15:04:25 · 25033 阅读 · 2 评论 -
Kubernetes运维指南(一)之指定Node调度与隔离
1. NodeSelector1.1. 概念如果需要限制Pod到指定的Node上运行,则可以给Node打标签并给Pod配置NodeSelector。1.2. 使用方式1.2.1. 给Node打标签# get node的namekubectl get nodes# 设置Labelkubectl label nodes &lt;node-name&gt; &...原创 2018-07-01 17:15:24 · 5788 阅读 · 0 评论 -
client-go的使用及源码分析
本文个人博客地址:http://www.huweihuang.com/article/source-analysis/client-go-source-analysis/1. client-go简介1.1 client-go说明 client-go是一个调用kubernetes集群资源对象API的客户端,即通过client-go实现对kubernetes集群中资源对象(包原创 2017-12-16 20:21:12 · 29208 阅读 · 2 评论 -
Kubernetes网络原理
1. kubernetes网络模型1.1. 基础原则每个Pod都拥有一个独立的IP地址,而且假定所有Pod都在一个可以直接连通的、扁平的网络空间中,不管是否运行在同一Node上都可以通过Pod的IP来访问。k8s中Pod的IP是最小粒度IP。同一个Pod内所有的容器共享一个网络堆栈,该模型称为IP-per-Pod模型。Pod由docker0实际分配的IP,Pod内部看到的IP地址和端口与外部保原创 2017-09-10 14:33:59 · 17565 阅读 · 0 评论 -
Kubernetes常用命令(kubectl)
1. kubectl介绍kubectl controls the Kubernetes cluster manager.Usage: kubectl [flags] kubectl [command][root@node5 ~]# kubectl --helpkubectl controls the Kubernetes cluster manager.Find mo原创 2017-10-16 23:52:45 · 6074 阅读 · 0 评论 -
Kubernetes监控体系(一)之集群监控概述
1. 概述1.1. cAdvisorcAdvisor对Node机器上的资源及容器进行实时监控和性能数据采集,包括CPU使用情况、内存使用情况、网络吞吐量及文件系统使用情况,cAdvisor集成在Kubelet中,当kubelet启动时会自动启动cAdvisor,即一个cAdvisor仅对一台Node机器进行监控。kubelet的启动参数–cadvisor-port可以定义cAdvisor对外提供服务原创 2017-09-08 21:40:39 · 5045 阅读 · 1 评论 -
Kubernetes监控体系(二)之cAdvisor介绍
1. cAdvisor简介 cAdvisor对Node机器上的资源及容器进行实时监控和性能数据采集,包括CPU使用情况、内存使用情况、网络吞吐量及文件系统使用情况,cAdvisor集成在Kubelet中,当kubelet启动时会自动启动cAdvisor,即一个cAdvisor仅对一台Node机器进行监控。kubelet的启动参数–cadvisor-port可以定义cAdvisor对外提供服务的原创 2017-09-09 22:24:04 · 11445 阅读 · 1 评论 -
Kubernetes监控体系(三)之Heapster介绍
1. heapster简介Heapster是容器集群监控和性能分析工具,支持Kubernetes和CoreOS。 Kubernetes有个监控agent—cAdvisor。在每个kubernetes Node上都会运行cAdvisor,它会收集本机以及容器的监控数据(cpu,memory,filesystem,network,uptime)。2. heapster部署与配置2.1原创 2017-09-08 21:24:42 · 8223 阅读 · 1 评论 -
Kubernetes监控体系(四)之InfluxDB介绍
1. InfluxDB简介InfluxDB是一个当下比较流行的时序数据库,InfluxDB使用 Go 语言编写,无需外部依赖,安装配置非常方便,适合构建大型分布式系统的监控系统。主要特色功能:1)基于时间序列,支持与时间有关的相关函数(如最大,最小,求和等)2)可度量性:你可以实时对大量数据进行计算3)基于事件:它支持任意的事件数据2. InfluxDB安装1)安装wget https://dl.i原创 2017-09-08 21:20:22 · 3058 阅读 · 0 评论 -
Flannel介绍
一、flannel是什么(what)(一)概述Flannel是CoreOS团队针对Kubernetes设计的一个网络规划服务,简单来说,它的功能是让集群中的不同节点主机创建的Docker容器都具有全集群唯一的虚拟IP地址。 Flannel官网:https://github.com/coreos/flannel(二)补充知识点1、覆盖网络[overlay network]运行在一个网上的网(应用层网原创 2017-09-08 21:09:35 · 14068 阅读 · 1 评论 -
Kubernetes API分类汇总
1. 资源对象1.1. Namespace 分类 说明 方法 API 查 list or watch objects of kind Namespace GET /api/v1/namespaces read the specified Namespace GET /api/v1/namespaces/{name} 增 create a Nam原创 2017-09-10 14:51:37 · 4093 阅读 · 1 评论