Kubernetes
文章平均质量分 75
lyzkks
喜欢分享技术,欢迎与我交流!!!
展开
-
[集群监控]使用cAdvisor + Heapster + InfluxDB + Grafana
架构和组件组件功能cAdvisor:容器数据收集。Heapster:集群监控数据收集,汇总所有节点监控数据。InfluxDB:时序数据库,存储监控数据。Grafana:可视化展示。架构图工作流程cAdvisor负责收集节点的状态信息,然后Heapster会通过kubelet向每一个节点请求cAdvisor收集的信息,并将信息存储在InfluxDB中,Gra...原创 2018-05-26 13:44:05 · 1885 阅读 · 0 评论 -
[集群监控]使用Prometheus + grafana + node-exporter
架构原理Prometheus 介绍Prometheus (中文名:普罗米修斯)是由 SoundCloud 开发的开源监控报警系统和时序列数据库(TSDB)。自2012年起,许多公司及组织已经采用 Prometheus,并且该项目有着非常活跃的开发者和用户社区。现在已经成为一个独立的开源项目。Prometheus 在2016加入 CNCF ( Cloud Native Com...转载 2018-05-25 20:28:33 · 16429 阅读 · 0 评论 -
Volume
概述什么是Valume默认情况下容器的数据都是非持久化的,在容器消亡以后数据也跟着丢失,所以 Docker 提供了 Volume 机制以便将数据持久化存储。类似的,Kubernetes 提供了更强大的 Volume 机制和丰富的插件,解决了容器数据持久化和容器间共享数据的问题。与 Docker 不同,Kubernetes Volume 的生命周期与 Pod 绑定。容器挂掉后 K...原创 2018-05-06 13:41:43 · 3439 阅读 · 1 评论 -
k8s集群service管理
集群service管理包括:网络代理模式服务代理服务发现发布服务概述Service 是对一组提供相同功能的 Pods 的抽象,并为它们提供一个统一的入口。借助 Service,应用可以方便的实现服务发现与负载均衡,并实现应用的零宕机升级。Service 通过标签来选取服务后端,一般配合 Replication Controller 或者 Deployment ...原创 2018-04-25 15:52:59 · 18552 阅读 · 0 评论 -
pod管理
pod管理包括但不限于: - 创建、删除、更新、查询 - 资源限制 - 调度约束 - 重启策略 - 健康检查 - 问题定位概述pod是k8s集群中最小的单元,一个pod可以包含一个容器,也可以包含多个容器。 创建/查询/更新/删除创建pod对象通过pod.yaml来创建pod对象。apiVersion: v1kind: Podmetad...原创 2018-04-25 11:44:18 · 2683 阅读 · 0 评论 -
Ingress
概述什么是Ingress通常情况下,service 和 pod 的 IP 仅可在集群内部访问。集群外部的请求需要通过负载均衡转发到 service 在 Node 上暴露的 NodePort 上,然后再由 kube-proxy 通过边缘路由器 (edge router) 将其转发给相关的 Pod 或者丢弃。 而 Ingress 就是为进入集群的请求提供路由规则的集合 In...原创 2018-05-02 21:15:38 · 7848 阅读 · 1 评论 -
YAML配置文件管理资源
配置文件说明定义配置时,指定最新稳定版API; API版本可以通过命令kubectl api-versions查看到配置文件应该存储在集群之外的版本控制仓库中。如果需要,可以快速回滚配置、重新创建和恢复; 例如git。应该使用YAML格式编写配置文件,而不是JSON。尽管这些格式都可以使用,但YAML对用户更加友好; 命令kubectl get pod ...原创 2018-04-24 19:31:44 · 1860 阅读 · 0 评论 -
kubectl管理命令的使用
概述kubectl是k8s集群的客户端,用户通过kubectl连接到集群的apiserver,并将命令传递到master上,然后master再将命令分发到node节点上执行。kubectl由众多的子命令构成。 命令举例创建kubectl run nginx --replicas=3 --labels="app=example" --image=nginx:...原创 2018-04-19 18:08:17 · 18703 阅读 · 0 评论 -
kubectl管理工具远程连接集群
概述kubectl是k8s的客户端程序,也是k8s的命令行工具,kubectl提供了大量的子命令可以让用户和集群进行交互。kubectl不一定部署在master上。用户通过kubectl连接到master上然后将命令通过master分发到集群的node节点上。 默认情况下是默认连接本地的apiserver使用https连接集群默认情况下,kubectl使用非安...原创 2018-04-18 17:39:00 · 11520 阅读 · 1 评论 -
k8s集群部署五:在集群中运行一个测试示例
查看集群状态相关命令查询集群组件状态kubectl get componentstatus// 简写为kubectl get cs查询集群节点状态kubectl get nodes// 或 kubectl get node创建一个测试示例在master上创建,这里以创建nginx为例创建nginx服务kubectl run nginx -...原创 2018-04-17 10:47:56 · 3124 阅读 · 2 评论 -
k8s集群部署四:node节点组件部署
以下操作均在node节点上进行从master上拷贝kubeconfig文件到node节点scp /root/ssl/*kubeconfig 10.10.99.233:/opt/kubernetes/cfg/scp /root/ssl/*kubeconfig 10.10.99.228:/opt/kubernetes/cfg/下载并安装node节点组件下载二进制软...原创 2018-04-15 05:19:55 · 8150 阅读 · 1 评论 -
k8s集群部署三:master节点组件部署
以下内容全部在master上执行获取master节点二进制包下载二进制包并部署组件可以从这个网站获取到master节点的二进制包:kubernetes githubwget https://dl.k8s.io/v1.9.0/kubernetes-server-linux-amd64.tar.gz 解压后从中找出kube-apiserver kube-control...原创 2018-04-15 03:22:28 · 2929 阅读 · 0 评论 -
k8s集群部署二:flannel网络、为node节点创建kubeconfig文件
Overlay Network模式覆盖网络,在基础网络上叠加的一种虚拟网络技术模式,该网络中的主机通过虚拟链路连接起来。VXLAN将源数据包封装到UDP中,并使用基础网络的IP/MAC作为外层报文头进行封装,然后在以太网上传输,到达目的地后由隧道端点解封装并将数据发送给目标地址。 Flannel是Overlay网络的一种,也是将源数据包封装在另一种网络包里面进行路...原创 2018-04-15 01:21:53 · 10136 阅读 · 5 评论 -
k8s集群部署一:环境规划、docker安装、证书生成、etcd部署
环境规划概述虚拟机部署一个2节点1master的小型集群,并且在master和node上都安装etcd来实现etcd集群。软件选型及版本 软件 版本 Linux 系统 CentOS Linux release 7.3.1611 (Core) kubernetes 1.9 Docker 17.12-ce etcd...原创 2018-04-14 21:03:59 · 3745 阅读 · 0 评论 -
kubernetes基础
kubernetes介绍发展历史Kubernetes是Google在2014年6月开源的一个容器集群管理系统,使用Go语言开发,Kubernetes也叫K8S。K8S是Google内部一个叫Borg的容器集群管理系统衍生出来的,Borg已经在Google大规模生产运行十年之久。K8S主要用于自动化部署、扩展和管理容器应用,提供了资源调度、部署管理、服务发现、扩容缩容、监控等...原创 2018-04-14 14:17:04 · 612 阅读 · 0 评论 -
kubernetes高可用架构
在之前的实验中,kubernetes集群都是一台master和两台node组成的小集群,在实际的生产环境中需要考虑到集群的高可用。在node节点实际已经实现了高可用,pod分布在不同的节点上,当一个节点宕机的时候,其上的pod会漂移到正常的节点上。所以,重点的高可用重心就要放在master上。官方的master节点高可用架构图中可以看出,用户通过kubectl发送命令经过LB进...原创 2018-05-22 21:09:38 · 7369 阅读 · 5 评论