青蛙小白
#Kubernetes

使用Ansible部署Kubernetes 1.6高可用集群

我们已经用ansible在新的环境中部署了etcd和docker,接下来使用ansible部署Kubernetes 1.6集群。 由于对ansible的使用已经没有什么问题了,因此本篇记录的侧重点是白话描述一下部署的具体步骤,以及部署过程踩的一些坑。 因为前段日子写过一篇《Kubernetes 1.6 高可用集群部署》,本次在编写ansible部署Kubernetes的roles时主要是一这篇文章里手动部署的过程为参考。

#Etcd #Ansible

使用Ansible部署etcd 3.2高可用集群

本文内容已过期 之前写过一篇手动搭建etcd 3.1集群的文章《etcd 3.1 高可用集群搭建》,最近要初始化一套新的环境,考虑用ansible自动化部署整套环境, 先从部署etcd 3.2集群开始。 需要部署etcd的主机信息如下: node1 192.168.61.11 node2 192.168.61.12 node3 192.168.61.13 1.配置管理项目目录结构 ├── inventories │ ├── staging │ │ ├── group_vars │ │ │ ├── all.yml │ │ │ └── etcd-nodes.yml │ │ ├── host_vars │ │ │ ├── node1.yml │ │ │ ├── node2.yml │ │ │ └── node3.yml │ │ └── hosts │ └── production ├── roles │ ├── common │ │ ├── defaults │ │ │ └── main.yml │ │ └── tasks │ │ └── main.yml │ ├── etcd3 │ ├── defaults │ │ └── main.yml │ ├── files │ │ └── make-ca-cert.sh │ ├── meta │ │ └── main.yml │ ├── tasks │ │ ├── create_etcd_user.yml │ │ ├── etcd-restart.yml │ │ ├── etcd-start.yml │ │ ├── etcd-stop.yml │ │ ├── gen-etcd-certs.yml │ │ ├── gen-etcd-systemd.yml │ │ ├── install_etcd_bin.yml │ │ └── main.yml │ └── templates │ ├── etcd.conf.j2 │ └── etcd.service.j2 ├── deploy-etcd3.yml roles/etcd3/defaults/main.yml:

#Microservice

服务治理之限流

大型网站系统主要的挑战是庞大的用户流量和高并发的访问,尤其是在一些大促场景下的会流量突增,如果不对这些流量加以管控,任由流量放大冲击系统,将会导致一系列恶劣的问题,例如一些可用的线程资源、连接资源被耗尽,分布式缓存容量被爆掉等,有可能会引起整个系统的雪崩。 当然普通网站系统在出现大量恶意流量和攻击时也会这些问题。

#Jenkins #Ansible

团队环境:Jenkins版本升级和插件更新

Jenkisn官方提供两种支持方式的版本: LTS(Long-term-Support)版本:大约每12周更新一次 Weekly Release:每周更新一次,每个版本会有一些enhancement和bug fix 我们使用的是Weekly版本,这里记录一下Jenkins版本的升级和插件更新。 最初我们是使用rpm安装的Jenkins,这种安装方式jenkins.war被默认安装到/usr/lib/jenkins下。 升级Jenkins的版本只要将这个目录的jenkins.war替换成新的版本,重启Jenkins服务即可。

#Prometheus

Prometheus的查询语言PromQL

PromQL是Prometheus提供的查询语言,用户可以使用PromQL对时序数据进行查询和聚合。 PromQL的查询结果可以用来在PromQL的浏览器中绘图、以表格展现数据,另外,PromQL的HTTP API也可以被外部系统使用。 Prometheus’s Expression Browser Prometheus的-web.listen-address=监听的就是PromQL浏览器的地址,例如: -web.listen-address=:9090,就以http://serverip:9090/graph访问PromQL浏览器。

#Kubernetes

Kubernetes Pod调度入门

最近两周一直没有抽出时间写点Kubernetes的东西,这篇学习一下Kubernetes对Pod的调度。我们先来复习一下Kubernetes的一些基本概念。 Kubernetes的基本概念 Kubernetes是一个基于容器技术的分布式架构平台,它首先是一个开源的容器集群管理系统,又是一个分布式系统开发、运维和支撑平台。 Kubernetes为容器应用提供了服务注册和发现、负载均衡、服务部署和运行、服务滚动升级、在线扩容和缩容、资源调度、资源配额管理等功能。 可以说Kubernetes具备完备的集群管理能力,贯串分布式系统开发、测试、部署、运维监控各个环节。

Vue.js 3.x学习索引

Vue.js是一个渐进式的JavaScript框架。怎么理解"渐进式": 声明式渲染 组件系统 客户端路由 集中式状态管理 项目构建 1.CSS基础 flex 布局的基本概念 2.JavaScript基础 ES6标准入门 Promise 对象 3.Vue基础 快速上手 模板语法 内置指令 v-text v-html v-pre v-cloak v-once v-memo (Vue 3.2引入) v-bind Class与Style绑定 v-on 事件处理 条件渲染 v-show v-if v-else-if v-else v-for 列表渲染 v-model 表单输入绑定 计算属性 选项式API-computed 侦听器 选项式API-watch 什么是vnode, 虚拟DOM, Diff算法 Vue3移除了过滤器(filters), 官方建议用方法调用或计算属性代替过滤器 组件基础 组件注册 单文件组件 工具链 vite 4.第三方组件库 Ant Design of Vue 5.其他资源 dayjs Moment.js ESLint