kubernetes in action - Volumes】的更多相关文章

Volume解决Kubernetes的存储的问题 对于Pod使用的存储,抽象为volume,volume伴随着Pod的创建而创建,消失而同时消失,不能单独的创建 这样的好处,是存储的塑胶不会因为某个container重启而丢失,因为volume是pod级别的 还有好处是,volume是pod资源,所以所有Pod中的container都可以共享访问这个volume,这样非常的方便 但是需要在contain中去mount这个volume,可以mount到任意目录,比如下面这个例子, ContentA…
传统的应用都是“monoliths”,意思就是大应用,即所有逻辑和模块都耦合在一起的 这样明显很挺多问题的,比如只能scale up,升级必须整体升级,扩容 所以我们就想把大应用,broken down成小,独立的模块或组件,这样组件可以独立的升级,扩容,组件也可以用不同的语言实现,组件间通过协议通信,每个组件就是一个微服务 微服务技术可以说是传统组件技术,如以前的COM,Corba,基于docker的演进,对于用户透明硬件,实现语言,组件间通过Restful或RPC交互 问题在于,你把一个大应…
问题,如何将Pod所提供的功能提供给别人用?微服务,是服务,所以关键要把服务提供出去 直接把pod的静态ip提供给用户用,这个会有很多问题,比如failover,扩容,负载均衡等 所以需要services组件 A Kubernetes Service is a resource you create to make a single, constant point of entry to a group of pods providing the same service. Each servi…
理解这个问题,就是pods在Kubernetes中怎么进行failover 在Kubernetes的work node上有kubelet,会负责监控该work node上的pods,如果有container挂掉了,它会负责重启 但是如果进程没有挂掉,只是hang住,或是死循环,或是死锁了,这个怎么判断 所以还需要引入,liveness probes,用于主动探测Pods是否正常 liveness probe - An HTTP GET probe performs an HTTP GET req…
Pods 在上一篇也说明了,pods是kubernetes的最小部署单元,并且所有在pods中的container共享namespaces 那么为什么需要pods这样的概念? 因为在实际中,我们有一种需求,某些进程需要部署在一台机器上,通过IPC或者本地文件来通信,比如因为他们之间数据传输比较大 那么现在我们用容器技术,我们的container就表示一个虚拟的机器,如果我们把多个进程都放在一个container里面可以吗? 肯定可以,但是问题在于,你使用容器的目的就是要平台来帮你管理和监控容器,…
链接:https://kubernetes.io/docs/concepts/storage/persistent-volumes/ 支持的参数,比如mountOptions在这里可以找到 删除正在被使用的pvc报错的原因,文中有解释…
1 Kubernetes介绍 Kubernetes(以下简称K8s) 是一个部署和管理容器化应用的软件系统.它将底层基础设施抽象,简化了应用的开发.部署,以及对开发和运维团队的管理. K8s由一个主节点和若干工作节点组成.开发者把应用描述提交到主节点,K8s会将描述中包含的容器镜像部署到集群的工作节点,开发者可以指定某些应用必须在一个工作节点一起运行(例如上图五边形和三角形应用),否则将被分散部署到集群中. 2 在K8s中运行应用 2.1 运行容器 pod K8s处理应用描述时,会指示容器运行时…
本文的演练环境为基于Virtualbox搭建的Kubernetes集群,具体搭建步骤可以参考kubeadm安装kubernetes V1.11.1 集群 1. 基本概念 1.1 Pod是什么 Pod是Kubernetes中能够创建和部署的最小单元,是Kubernetes集群中的一个应用实例,总是部署在同一个节点Node上.Pod中包含了一个或多个容器,还包括了存储.网络等各个容器共享的资源.Pod支持多种容器环境,Docker则是最流行的容器环境. 单容器Pod,最常见的应用方式. 多容器Pod…
master上通过kubeadm安装Kubernetes 添加国内阿里源后安装kubeadm: deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main2 apt-get update && apt-get install kubeadm 创建kubeadm.yaml文件, 然后执行安装: apiVersion: kubeadm.k8s.io/v1alpha2 kind: MasterConfiguratio…
Kubernetes(k8s)是一款开源的优秀的容器编排调度系统,其本身也是一款分布式应用程序.虽然本系列文章讨论的是互联网架构,但是k8s的一些设计理念非常值得深思和借鉴,本人并非运维专家,本文尝试从自己看到的一些k8s的架构理念结合自己的理解来分析 k8s在稳定性.简单.可扩展性三个方面做的一些架构设计的考量. 稳定性:考虑的是系统本身足够稳定,用户使用系统做的一些动作能够稳定落地,系统本身容错性足够强可以应对网络问题,系统本身有足够的高可用等等. 简单:考虑的是系统本身的设计足够简单,组件…