Kubernetes-hpav2横向自动扩容
这是一个k8s集群验证hpav2的功能
HPA
Horizontal Pod Autoscaler根据观察到的CPU利用率自动调整复制控制器,部署或副本集中的pod数量(或者,使用自定义度量标准支持,根据其他一些应用程序提供的度量标准)。请注意,Horizontal PodAutoscaling不适用于无法缩放的对象,例如DaemonSet。
Horizontal Pod Autoscaler实现为Kubernetes API资源和控制器。资源确定控制器的行为。控制器会定期调整复制控制器或部署中的副本数,以使观察到的平均CPU利用率与用户指定的目标相匹配
Horizontal Pod Autoscaler如何工作?
Horizontal PodAutoscaler实现为控制循环,其周期由控制器管理器的–horizontal-pod-autoscaler-sync-period标志控制(默认值为15秒)。在每个期间,控制器管理器根据每个HorizontalPodAutoscaler定义中指定的度量查询资源利用率。控制器管理器从资源指标API(针对 ...
Prometheus-Operator监控k8s
这是一篇Prometheus-Operator监控k8s服务的部署、监控原理讲解、监控配置、告警模板配置。
初始条件:
K8s1.12+集群
Prometheus-operator 安装monitoring.coreos.com/v1 api(prometheus-operator)此处我们直接使用yaml文件方式安装,不使用helm安装,helm安装会缺少一些服务,不方便我们更深了解
1git clone https://github.com/coreos/prometheus-operator.git
已迁移到如下
12git clone https://github.com/coreos/kube-prometheus.gitcd prometheus-operator/contrib/kube-prometheus
12kubectl get pod --all-namespaceskubectl api-versions
如果整个集群是否设置tain,解除即可
1for i in api.huisebug.com node1.huisebug.com nod ...
mysql5.7主从复制及mycat1.6读写分离
本文档介绍如何在三台服务器利用docker搭建mysql5.7三机主从复制及mycat1.6实现数据库读写分离。
序言本文档介绍如何在三台服务器利用docker搭建mysql5.7三机主从复制及mycat1.6实现数据库读写分离。
环境需求
Docker
三台服务器 Centos 7 ,服务器名称使用IP地址末尾代替,分别为182,181,180.
唯一要求
1ulimit -n 根据实际进行设置
Dockerdocker的安装方式请参照官方地址:https://docs.docker.com/install/linux/docker-ce/centos/
其他系统请选择合适的方式安装。
MySQL主从搭建本方案的设计是1台主节点182,2台从节点181、180
182下的mysql.cnf
12345[mysqld]#唯一id,如果开启主从功能则每台MySQL节点不能相同server-id = 1#开启mysql-log-bin功能log-bin=mysql-bin
180下的mysql.cnf
12345[mysqld]#唯一id,如果开启主从功能则每台My ...
国内安装knative v0.6.0使用dockerhub镜像
本文是在基于官方knative的基础上进行安装,因为官方yaml中涉及太多的gcr.io镜像和配置文件中也包含gcr.io,便于国内用户进行研究学习而进行替换为可拉取镜像的yaml文件。其中主要是替换镜像的操作。
直接使用替换好的官方yaml文件请移步knative-image
Knative
knative官方githubknative官方安装方式
##官方下载yaml地址https://github.com/knative/serving/releases/download/v0.6.0/serving.yamlhttps://github.com/knative/build/releases/download/v0.6.0/build.yamlhttps://github.com/knative/eventing/releases/download/v0.6.0/release.yamlhttps://github.com/knative/serving/releases/download/v0.6.0/monitoring.yamlhttps://github.com/ ...
heketi安装结合EFK实践
这是一个k8s集群,搭建gluster fs系统提供存储服务,搭建heketi进行管理gluster fs,结合k8s的StorageClass进行动态pv建立。提供给生产环境的日志收集系统EFK存储数据。
准备环境
操作系统:centos7
硬盘:/dev/vdc 50Gi
GlusterFS搭建glusterfs来作为可持续存储k8s的CSI
安装glusterfs三台服务器都要执行
1234567891011121314151617181920# 先安装 gluster 源$ yum install centos-release-gluster -y# 安装 glusterfs 组件(这里包含了server和client)$ yum install -y glusterfs glusterfs-server glusterfs-fuse glusterfs-rdma glusterfs-geo-replication glusterfs-devel# 创建 glusterfs服务运行目录$ mkdir /opt/glusterd# 修改 glusterd 目录,将 ...
华为云配置负载均衡器
华为云配置负载均衡器SLB
华为云配置负载均衡器http:
https
情况有两种:
比如SLB后面的服务器自己开放了https(即443端口),这里就不能设置SLB的协议为HTTPS,只能让其代理443端口
直接让SLB使用HTTPS,只能使用http跳转到后端服务器,适用于后端服务器是静态页面。
代理443
https方式
后续操作基本相同。
prometheus监控单一服务及告警
这是一篇prometheus单独监控单服务的部署方法,其中涉及的插件基本都是使用docker进行安装。
安装docker-ce# 安装docker
123456yum install -y yum-utils device-mapper-persistent-data lvm2yum-config-manager \--add-repo \https://download.docker.com/linux/centos/docker-ce.repoyum makecache fastyum install -y docker-ce
# 编辑systemctl的Docker启动文件
1sed -i "13i ExecStartPost=/usr/sbin/iptables -P FORWARD ACCEPT" /usr/lib/systemd/system/docker.service
# 启动docker
123systemctl daemon-reloadsystemctl enable dockersystemctl start docker
Pr ...
持续更新-20190306-k8s常见方法及错误解决
k8s常见方法及错误解决方法
如果kubectl get nodes状态为notready可以查看kubelet服务是否开启
容器之间使用flanneld通信,可以ping通docker0,容器之间无法ping通的时候iptables -Fiptables -Xiptables -Ziptables -P INPUT ACCEPTiptables -P OUTPUT ACCEPTiptables -P FORWARD ACCEPT
运行iptables关闭
system:anonymous” cannot proxy services in the namespace “kube-system浏览器访问 URL:
https://192.168.100.80:6443/api/v1/proxy/namespaces/kube-system/services/kubernetes-dashboard(浏览器会提示证书验证,因为通过加密通道,以改⽅式访问的话,需要提前导⼊证书到你的计算机中)。不然会提示User“system:anonymous” cannot proxy servic ...
Docker-machine+Docker swarm+Nginx+Nginx代理
这是一个swarm集群,从零开始搭建服务器环境,Docker-machine+Docker swarm+Nginx+Nginx代理
Docker-machine+Docker swarm+Nginx+Nginx代理准备环境:
6台centos7操作系统(需要关闭防火墙,关闭selinux)
IP地址划分
Docker-machine
Swarm node1
Swarm node1
Swarm node1
Nginx服务
Nginx代理
192.168.100.70
192.168.100.71
192.168.100.72
192.168.100.73
192.168.100.74
192.168.100.75
docker版本
初始环境要求:
准备的是全新的操作系统,只需IP地址配置ok,全网可以互通。
项目执行之前需要实现的要求
全部不使用root,关闭密码验证,使用ssh密钥进行验证。
全部机器使用IP地址为70的这台作为堡垒机进行管理。
要求nginx代理为外部的提供访问的地址,(如果允许,可以再搭建一台dns解析 ...
Docker基础概念
工作中可能常用的docker基础命令,可能有些命令已经淘汰,此处介绍常用的一些docker使用,主要是基础概念
镜像Dockerfile1.CMD:命令/参数;
2.ENTRYPOINT:命令;docker –entrypoint=命令 镜像名 /进行覆盖操作
3.WORKDIR:工作目录;docker -w=绝对路径 镜像名 、进行覆盖
4.ENV:环境变量/变量;永久的保存到建立的容器中,docker -e 变量=值 镜像名 可进行容器增加全局变量
5.USER: 指定用户去运行容器,不指定就是root,用户名:组名;格式
6.VOLUME:卷
7.ADD:复制和解压,构建缓存失效,源文件必须在Dockerfile同一级目录下
8.COPY:复制文件
9.ONBUILD:触发器
Dockerfile中没法使用source来添加环境变量,必须使用ENV
镜像制作命令镜像名命名格式为:用户/服务:标签,如果你想上传到docker hub或者自己的私库,就需要将用户名设置正确的,如果不正确也可以使用docker tag进行复制镜像并重命名,也可将运行的容器docker commit为 ...