
kubernates
kubernates从环境搭建到实战演练
victor-维克特
信不足焉,有不信焉
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Kubernetes--存储(Volumn/PV/PVC)
一. 前言卷不是独立的k8s对象,它是pod的一部分,和pod同生命周期(共享),不能单独创建和销毁,即跟随pod启动时创建,删除时销毁。当重启容器时,卷可以保持不变,新的容器可以识别上一个容器写入卷的所有文件,这样就可以卡点继续工作。所有容器使用卷的前提是将卷挂载在每个需要访问它的容器中,当然,这个操作可以在容器文件系统的任意位置挂载。不过,容器可以装载也可以选择不装载卷。二. 卷的分类1. emptyDir卷当 Pod 指定到某个节点上时,首先创建的是一个 emptyDir 卷,并且只要 Pod原创 2020-07-15 15:10:40 · 931 阅读 · 0 评论 -
Kubernetes--ConfigMap
一. ConfigMap的概念在生产环境中经常会遇到需要修改配置文件的情况,传统的修改方式不仅会影响到服务的正常运行,而且操作步骤也很繁琐。为了解决这个问题,k8s项目从1.2版本引入了ConfigMap功能,用于将应用的配置信息与程序的分离。这种方式不仅可以实现应用程序被的复用,而且还可以通过不同的配置实现更灵活的功能。在创建容器时,用户可以将应用程序打包为容器镜像后,通过环境变量或者外接挂载文件的方式进行配置注入。二. 创建ConfigMap系统中可以通过YAML配置文件或者直接使用kubectl原创 2020-07-14 14:23:03 · 308 阅读 · 0 评论 -
Kubernetes--自动扩缩容
一. 前言我们可以通过–replicas的方式来扩缩容,或者是通过dashboard的方式界面化的扩缩容。其实都需要手动,如果kubernetes可以通过当时容器使用情况来自动的扩缩容,其实有的可以进行预知,有的根本就是不确定的,纯手工去做也是不现实的人海战术。Horizontal Pod Autoscaling,简称HPA, Kubernetes通过HPA的设定,实现了容器的弹性伸缩功能。对于Kubernetes中的POD集群来说,HPA可以实现很多自动化功能,比如当POD中业务负载上升的时候,可以创原创 2020-07-09 19:51:55 · 3957 阅读 · 0 评论 -
Kubernetes--Deployment使用
一. Replication Controller与Deployment的区别1. Replication ControllerReplication Controller为Kubernetes的一个核心内容,应用托管到Kubernetes之后,Replication Controller需要保证应用能够持续的运行,主要的功能如下:1)确保pod数量:它会确保Kubernetes中有指定数量的Pod在运行。如果少于指定数量的pod,Replication Controller会创建新 的,反之原创 2020-07-09 15:30:04 · 647 阅读 · 0 评论 -
Kubernetes--服务升级
一. 前言在传统的部署方式中,当需要升级集群中的某个服务时,需要停止该服务相关的Pod,pull最新的docker镜像,然后重新启动。 如果一下把所有Pod都停止,服务在升级的时间内会不可用。因此,Kubernetes提供了滚动升级的功能,一次只更新一小部分副本,成功后,再更新更多的副本,最终完成所有副本的更新,最大好处是零停机,整个更新过程始终有副本在运行,从而保证了业务的连续性。二. 环境准备1.首先准备4个不同版本的镜像,用于测试(不同版本服务的接口返回对应的版本号)2. 原始的创建pod原创 2020-07-08 16:47:27 · 1677 阅读 · 0 评论 -
Kubernetes--系统架构
一. 前言kubernetes其实源于希腊语意思(舵手,领航员)。由于不太好读也不太好写,就有了另一个名称叫k8s,kubernetes是谷歌在2014年开始实施的一个项目,当时google已经有了大规模服务容器管理的经验,内部Borg系统,负责对google内部的一些服务进行调度和管理,它的目的是让用户不必操心资源管理的问题,让他们专注自己的核心业务, 并且最大化数据中心的利用率。k8s是一个自动开源系统,自动化部署,扩缩容,管理容器化的应用。相比前面的mesos 和swarm,k8s的目的非常的单纯原创 2020-07-07 19:08:23 · 349 阅读 · 1 评论 -
Kubernetes--第一个微服务部署
一. 前言从零开始开发一个微服务,将该微服务打包成docker镜像,利用yaml文件部署到kube集群中具体思路:在开发环境,创建一个docker-project的微服务,对外暴露一个接口;使用dockerfile打包成docker镜像,再将他push到docker伺服中;接着使用yaml文件将此镜像部署到kube集群。一. 镜像环境准备Docker之镜像制作Docker之私有镜像仓库搭建按照以上两步操作即可,我们直接查看docker伺服上的镜像二. 使用yaml文件创建Deployme原创 2020-07-07 15:50:21 · 771 阅读 · 0 评论 -
Kubernetes--插件Dashboard安装
一. 设置防火墙策略(所有节点)vim /usr/lib/systemd/system/docker.service#[Service] 这项下面添加ExecStartPost=/sbin/iptables -I FORWARD -s 0.0.0.0/0 -j ACCEPT重启dockersystemctl daemon-reloadsystemctl restart dockersystemctl enable docker二. 拉取镜像(所有节点)docker pull regist原创 2020-07-06 20:23:59 · 3150 阅读 · 0 评论 -
Kubernetes--环境搭建kubeadm
一. 前言官方提供了三种Kubernetes部署方式1. minikubeMinikube是一个工具,可以在本地快速运行一个单点的Kubernetes,尝试Kubernetes或日常开发的用户使用。不能用于生产环境。2. kubeadmKubeadm是一个工具,提供kubeadm init和kubeadm join,用于快速部署Kubernetes集群3. 二进制包从官方下载发行版的二进制包,手动部署每个组件,组成Kubernetes集群。二. 环境要求1.一台或多台机器,操作系统 Cen原创 2020-07-06 19:23:37 · 684 阅读 · 0 评论 -
k8s部署consul
一. 前言Consul是由HashiCorp基于Go语言开发的支持多数据中心分布式高可用的服务发布和注册服务软件,采用Raft算法保证服务的一致性,且支持健康检查。但是在kubernetes里,当节点发生故障或者资源不足时,会根据策略杀掉节点的一些pod转而生成新的pod,而新生成的pod的ip地址和名称(hash值)都发生了变化。这时候我们就需要重新获取pod的ip,然后将新的pod加入到集群中去,以上做法不利于充分发挥kubernetes自身的伸缩功能.。那怎么做...原创 2020-08-13 00:16:54 · 4595 阅读 · 1 评论