master节点 k8s的集群由master和node组成,节点上运行着若干k8s服务. master节点之上运行着的后台服务有kube-apiserver .kube-scheduler.kube-controller-manager.etcd和pod网络.如下图所示 1. API Server(kube-apiserver) API Server是k8s的前端接口,各种客户端工具以及k8s其他组件可以通过它管理集群的各种资源. 2.Scheduler(kube-scheduler) sche…
重要概念 1. cluster cluster是 计算.存储和网络资源的集合,k8s利用这些资源运行各种基于容器的应用. 2.master master是cluster的大脑,他的主要职责是调度,即决定将应用放在那里运行.master运行linux操作系统,可以是物理机或者虚拟机.为了实现高可用,可以运行多个master. 3.node node的职责是运行容器应用.node由master管理,node负责监控并汇报容器的状态,同时根据master的要求管理容器的生命周期.node运行在linu…
默认的健康检查 强大的自愈能力是 Kubernetes 这类容器编排引擎的一个重要特性.自愈的默认实现方式是自动重启发生故障的容器.除此之外,用户还可以利用 Liveness 和 Readiness 探测机制设置更精细的健康检查,进而实现如下需求: 零停机部署. 避免部署无效的镜像. 更加安全的滚动升级. 每个容器启动时都会执行一个进程,此进程由 Dockerfile 的 CMD 或 ENTRYPOINT 指定.如果进程退出时返回码非零,则认为容器发生故障,Kubernetes 就会根据 res…
实践 滚动更新是一次只更新一小部分副本,成功后,再更新更多的副本,最终完成所有副本的更新.滚动更新的最大的好处是零停机,整个更新过程始终有副本在运行,从而保证了业务的连续性. 下面我们部署三副本应用,初始镜像为 httpd:2.2.31,然后将其更新到 httpd:2.2.32. 第一步: httpd:2.2.31 的配置文件如下: [root@ken ~]# cat httpd.yml apiVersion: apps/v1beta1 kind: Deployment metadata: na…
Weave Scope   在我之前的docker监控中<Docker容器监控(十)--技术流ken>就已经提到了weave scope. Weave Scope 是 Docker 和 Kubernetes 可视化监控工具.Scope 提供了至上而下的集群基础设施和应用的完整视图,用户可以轻松对分布式的容器化应用进行实时监控和问题诊断. 第一步:安装weave scope [root@ken ~]# kubectl apply -f "https://cloud.weave.work…
项目前言 在上一篇博客<Jenkins+Git+Gitlab+Ansible实现持续化集成一键部署静态网站(一)--技术流ken>中已经详细讲解了如何使用这四个工具来持续集成自动化部署一个静态的网站. 如果大家可以熟练掌握以上内容,势必会在工作中减轻不小的工作量. 本篇博客将再次使用这四个工具结合freestyle和pipeline来完成动态网站的部署. 为了拓宽知识点,本篇博客将使用jenkins的两种常用方法来进行部署,如果你对pipeline还不熟悉,请参考我之前的博客<Jenki…
Ansible模块 在上一篇博客<Ansible基础认识及安装使用详解(一)--技术流ken>中以及简单的介绍了一下ansible的模块.ansible是基于模块工作的,所以我们必须掌握几个常用的模块以便能够从容应对日常的工作. 相信大家在看完上一篇博客之后应该也已经知道可以使用ansible-doc -s 模块名,可以获取到模块的使用帮助,在本篇博客中就不再赘述. Ansible常用模块介绍 ansible常用模块主要有如下12个: ping 模块: 尝试连接主机,如果测试成功会返回‘pon…
前言 最近做了一个不大不小的项目,现就删繁就简单独拿出来web集群这一块写一篇博客.数据库集群请参考<MySQL集群架构篇:MHA+MySQL-PROXY+LVS实现MySQL集群架构高可用/高性能-技术流ken>下面是项目的一些简单介绍. WEB集群项目简介 随着网站访问量的激增,势必会导致网站的负载增加,现需求搭载一套高性能,高负载,高可用的网站集群架构以保障网站的持续.高效.安全.稳定的运行. 针对以上需求,我们采用了如下的技术: 使用负载均衡技术来实现网站请求的调度分发,减小后端服务器…
前言 有些时候我们常常会忘掉一些服务的密码,比如系统密码,我们可以进入救援模式进行修改密码,可参考我之前的博客<Centos7破解密码的两种方法--技术流ken>.但有些时候我们也会忘掉数据库的密码,本篇博客将会讲解如果忘掉数据库密码如何进行修改. 实验环境 CentOS Linux release 7.5.1804 (Core) mysql  Ver 15.1 Distrib 5.5.56-MariaDB, for Linux (x86_64) using readline 5.1 数据库忘…
前言 在上一篇博文<cobbler批量安装系统使用详解-技术流ken>中已经详细讲解了cobbler的使用以及安装,本篇博文将会使用单台cobbler实现自动化批量安装不同版本的操作系统. pxe+kickstart单台服务器只能安装一个版本的操作系统,这就造成了实际工作中的局限性. 系统环境准备 一台安装好cobbler的服务器 准备centos7.3版本的镜像 添加centos7镜像 关掉虚拟机,在虚拟机CD/DVD选项中选择准备好的centos6镜像. 挂载光盘 把centos7的光盘挂…