
Kubernetes
文章平均质量分 67
最爱喝酸奶
一直要努力!
展开
-
k8s部署zabbix
k8s以Deployment方式部署zabbix。当前最新版本:5.2.4namespacemkdir -p /home/k8s/zabbix/{mysql,zabbix-server,zabbix-web}cd /home/k8s/zabbixvim namespace.yamlapiVersion: v1kind: Namespacemetadata: name: monitoringpv部署nfs:选择一节点,mkdir -p /data/mysqlyum原创 2021-02-16 15:59:49 · 4664 阅读 · 1 评论 -
k8s部署 elfk 7.x + x-pack
k8s以StatefulSet方式部署elasticsearch集群,其中filebeat以sidecar方式部署。当前最新版本:7.10.1namespacemkdir -p /home/k8s/elfk/{elasticsearch-head,elasticsearch,logstash,kibana,filebeat}cd /home/k8s/elfkvim namespace.yamlapiVersion: v1kind: Namespacemetadata: name:原创 2021-02-09 18:13:45 · 2238 阅读 · 4 评论 -
process exporter 监控进程并告警
本文内容基于 k8s部署prometheus + grafana。process-exporter介绍:在 prometheus 中,process-exporter 可以用来检测所选进程的存活状态。用法:process-exporter [options] -config.path filename.yml如果选择监控的进程并将其分组,可以提供命令行参数或使用 yaml 配置文件。推荐通过 -config.path 指定配置文件。-config.path yaml 文件的常规格式是顶级原创 2021-02-02 18:44:44 · 8274 阅读 · 21 评论 -
dingtalk使用自定义告警模板
本文内容基于 k8s部署prometheus + grafana,只针对 dingtalk 部分进行修改。vim dingtalk/config.yamlapiVersion: v1kind: ConfigMapmetadata: name: dingtalk-config namespace: monitoringdata: config.yml: |- templates: - /etc/prometheus-webhook-dingtalk/default原创 2021-02-01 19:08:38 · 3949 阅读 · 1 评论 -
helm部署gitlab-runner
helm部署gitlab-runner。chart最新版本:0.21.1namespace:public-service-ns.yamlapiVersion: v1kind: Namespacemetadata: name: public-servicekubectl apply -f public-service-ns.yaml查看注册token:在 管理中心 查看注册runner的 url 和 token,注册完成后就是全局的runner,也可以创建项目后单独注册run原创 2020-10-24 15:33:55 · 3348 阅读 · 2 评论 -
helm部署gitlab
helm部署gitlab。chart最新版本:4.4.3namespace:public-service-ns.yamlapiVersion: v1kind: Namespacemetadata: name: public-servicekubectl apply -f public-service-ns.yamlnfs存储:yum install -y nfs-utils rpcbindmkdir -p /data/gitlab/{gitaly,minio,postg原创 2020-10-15 19:17:02 · 3995 阅读 · 0 评论 -
helm部署harbor
helm部署harbor。chart 最新版本:1.5.0namespace:public-service-ns.yamlapiVersion: v1kind: Namespacemetadata: name: public-servicekubectl apply -f public-service-ns.yamlnfs存储:yum install -y nfs-utils rpcbindmkdir -p /data/harbor/{chartmuseum,jobse原创 2020-10-05 18:34:42 · 4715 阅读 · 3 评论 -
k8s部署apollo
k8s以Deployment方式部署apollo。最新版本:1.7.1public-service-ns.yamlapiVersion: v1kind: Namespacemetadata: name: public-serviceapollo.yamlapiVersion: v1kind: ConfigMapmetadata: name: apollo-configservice namespace: public-servicedata: application-g原创 2020-09-25 19:15:12 · 1435 阅读 · 5 评论 -
k8s部署weave scope可视化工具
Weave Scope 是一款 Docker 和 Kubernetes 的可视化监控工具。它提供了自上而下的应用程序视图以及整个基础架构视图,用户可以轻松对分布式的容器化应用进行实时监控和问题诊断,以确保容器应用程序的稳定性和性能。Weave Scope 可以监控 Kubernetes 集群中的一系列资源的状态、资源使用情况、应用拓扑、scale,还可以通过浏览器直接进入容器内部调试等。其提供的功能包括:交互式拓扑界面图形模式和表格模式过滤功能搜索功能实时度量容器排错插件扩展原创 2020-09-11 18:28:10 · 1628 阅读 · 0 评论 -
k8s部署consul集群
k8s以StatefulSet方式部署consul集群:public-service-ns.yamlapiVersion: v1kind: Namespacemetadata: name: public-serviceconsul-server.yamlapiVersion: extensions/v1beta1kind: Ingressmetadata: name: consul namespace: public-servicespec: rules: - h原创 2020-09-08 19:09:44 · 6880 阅读 · 5 评论 -
helm3(二)
helm介绍helm是一个简化安装和管理Kubernetes应用程序的工具,可以将其视为Kubernetes的apt/yum/homebrew。helm是用于管理charts的工具,charts是预先配置的Kubernetes资源的软件包。官网:https://helm.sh,最新版本:v3.3.0helm用途:1. 查找并使用Helm Charts将应用程序部署在Kubernetes上2. 通过Helm Charts将应用程序共享3. 对Kubernetes应用程序实现可重复构建4.原创 2020-08-28 18:57:59 · 2776 阅读 · 0 评论 -
helm3(一)
helm介绍helm是一个简化安装和管理Kubernetes应用程序的工具,可以将其视为Kubernetes的apt/yum/homebrew。helm是用于管理charts的工具,charts是预先配置的Kubernetes资源的软件包。官网:https://helm.sh,最新版本:v3.3.0helm用途:1. 查找并使用Helm Charts将应用程序部署在Kubernetes上2. 通过Helm Charts将应用程序共享3. 对Kubernetes应用程序实现可重复构建4.原创 2020-08-21 18:56:48 · 2301 阅读 · 3 评论 -
Kubeadm方式搭建K8S集群
Kubeadm方式搭建集群优缺点:优点: 简单优雅,支持高可用,升级方便 缺点: 不易维护,文档不够细致将master作为deploy节点,未指定节点时默认在master上进行操作。建议deploy节点与其它节点配置ssh免密登录,配置过程参考:批量实现SSH免密登录 。环境准备环境准备工作请在所有节点进行。主机说明:系统ip角色cpu内存hostnameCentOS 7.8192.168.30.128master、deploy原创 2020-08-11 18:50:47 · 1019 阅读 · 8 评论 -
k8s部署prometheus + grafana
k8s以Deployment方式部署prometheus + grafana:主机说明:系统ip角色cpu内存hostnameCentOS 7.8192.168.30.128master>=2>=2Gmaster1CentOS 7.8192.168.30.129master>=2>=2Gmaster2CentOS 7.8192.168.30.130node>=2>=2Gnode1Cent原创 2020-07-29 19:22:54 · 16663 阅读 · 60 评论 -
k8s部署redis cluster集群
k8s以StatefulSet方式部署redis cluster集群:1. 部署nfs2. 创建pv3. 部署redis4. 初始化redis集群主机说明:系统ip角色cpu内存hostnameCentOS 7.8192.168.30.128master、deploy>=2>=2Gmaster1CentOS 7.8192.168.30.129master>=2>=2Gmaster2CentOS 7.原创 2020-06-18 19:08:16 · 8430 阅读 · 32 评论 -
k8s部署kafka集群
k8s以StatefulSet方式部署kafka集群:kafka-namespace.yamlapiVersion: v1kind: Namespacemetadata: name: kafkazookeeper-headless.yamlapiVersion: v1kind: Servicemetadata: name: zk-hs namespace: kafka labels: app: zkspec: selector: app: zk p原创 2020-06-12 17:40:01 · 7832 阅读 · 50 评论 -
k8s部署zookeeper集群
k8s以StatefulSet方式部署zookeeper集群:zookeeper-headless.yamlapiVersion: v1kind: Servicemetadata: name: zk-hs labels: app: zkspec: selector: app: zk ports: - port: 2888 name: server - port: 3888 name: leader-election clusterIP:原创 2020-06-06 15:19:31 · 11072 阅读 · 11 评论 -
k8s部署rabbitmq集群
阿里云创建NAS共享存储的StorageClass:apiVersion: storage.k8s.io/v1kind: StorageClassmetadata: name: alicloud-nas-subpath-publicprovisioner: nasplugin.csi.alibabacloud.commountOptions:- nolock,tcp,noresvport- vers=3parameters: volumeAs: subpath server: "原创 2020-05-30 13:06:10 · 7887 阅读 · 69 评论 -
elfk收集k8s日志(三)
本文介绍通过elk + filebeat方式收集k8s日志,其中filebeat以sidecar方式部署。elfk最新版本:7.6.2k8s日志收集方案3种日志收集方案:1. node上部署一个日志收集程序 Daemonset方式部署日志收集程序,对本节点 /var/log 和 /var/lib/docker/containers 两个目录下的日志进行采集 2. sidecar方式部署日志收集程序 每个运行应用程序的pod中附加一个日志收集的容器,使用 emptyD原创 2020-05-25 10:33:07 · 1063 阅读 · 1 评论 -
elfk收集k8s日志(二)
本文介绍通过elk + filebeat方式收集k8s日志,其中filebeat以sidecar方式部署。elfk最新版本:7.6.2k8s日志收集方案3种日志收集方案:1. node上部署一个日志收集程序 Daemonset方式部署日志收集程序,对本节点 /var/log 和 /var/lib/docker/containers 两个目录下的日志进行采集 2. sidecar方式部署日志收集程序 每个运行应用程序的pod中附加一个日志收集的容器,使用 emptyD原创 2020-05-20 20:12:55 · 795 阅读 · 2 评论 -
elfk收集k8s日志(一)
本文介绍通过elk + filebeat方式收集k8s日志,其中filebeat以logagent方式部署。elfk最新版本:7.6.2k8s日志收集方案3种日志收集方案:1. node上部署一个日志收集程序 Daemonset方式部署日志收集程序,对本节点 /var/log 和 /var/lib/docker/containers 两个目录下的日志进行采集 2. sidecar方式部署日志收集程序 每个运行应用程序的pod中附加一个日志收集的容器,使用 empty原创 2020-05-17 16:56:11 · 1508 阅读 · 0 评论 -
10. Kubernetes的日志与监控
Kubernetes的日志处理日志对比:传统服务的日志: 固定机器、固定目录 不受重启影响 不用关注stdout、stderrk8s服务的日志: 节点不固定 重启服务会漂移 需要关注stdout、stderr常见方案:1. 远程日志 kafka、elasticsearch2...原创 2019-12-23 18:27:13 · 1591 阅读 · 0 评论 -
9. Ingress-Nginx与共享存储
首先,为了方便下面的实验,首先将第6节web-demo项目的src/main/java/com/mooc/demo/controller/DemoController.java文件中更改的k8s恢复为hello,重新构建镜像hub.lzxlinux.cn/kubernetes/web:latest并推送至仓库hub.lzxlinux.cn。Ingress-Nginx前面简单使用了ingres...原创 2019-12-05 17:03:37 · 605 阅读 · 0 评论 -
8. Kubernetes的服务调度
健康检查在Kubernetes中,系统和应用程序的健康检查是由Kubelet来完成的。健康检查包含容器的livenessProbe(活性探针)和服务的readinessProbe(就绪探针)。livenessProbe确保应用进程正常运行;readinessProbe确保应用进程可以对外提供服务。进程级健康检查:最简单的健康检查是进程级的健康检查,即检验容器进程是否存活。健康检查的监控...原创 2019-11-29 18:18:42 · 1612 阅读 · 0 评论 -
7. Kubernetes的资源对象
在Kubernetes系统中,Kubernetes对象是持久化的实体。Kubernetes使用这些实体去表示整个集群的状态。特别地,它们描述了如下信息:哪些容器化应用在运行(以及在哪个 Node 上)可以被应用使用的资源关于应用运行时表现的策略,比如重启策略、升级策略,以及容错策略Kubernetes对象是“目标性记录”。一旦创建对象,Kubernetes系统将持续工作以确保对象存在...原创 2019-11-28 20:27:31 · 549 阅读 · 0 评论 -
6. 业务系统基于K8S的CICD
将业务系统迁移到k8s中运行还不够,还应该让它能够持续化的集成部署,也就是CI/CD的过程,该过程必须保证自动化。使用k8s进行CI/CD有以下优点:1. 环境稳定2. 服务不中断3. 一次构建,多环境运行本文通过K8S + Gitlab + Gitlab CI实现k8s集群的自动化集成部署。环境如下:iprolehostnamedomain192.16...原创 2019-11-25 18:23:33 · 2602 阅读 · 0 评论 -
5. 业务系统迁移实践
每个公司的业务系统都各不相同,但常见的服务可能有这些:1. java定时任务2. springboot服务3. dubbo服务4. web服务无状态的服务(如nginx,tomcat)有利于容器化,迁移到k8s中非常合适,因为有自动伸缩和负载均衡。而对于有状态的服务(如mysql、kafka)一般不建议容器化。如何将公司的业务系统迁移到k8s中?可分为两步:1. 把服务做成镜...原创 2019-11-22 18:54:05 · 854 阅读 · 0 评论 -
4. 业务系统迁移准备
在业务系统迁移到kubernetes前需要完成一些准备工作。Harbor高可用部署Harbor是一个用于存储Docker镜像的企业级Registry服务。官方是通过docker-compose方式部署harbor的。接下来通过docker-compose和主从复制的方式部署高可用的harbor,对于harbor没有太高访问需求的情况下该方式比较合适。主机说明:iprole...原创 2019-11-19 18:36:55 · 1089 阅读 · 0 评论 -
3. 二进制方式搭建k8s集群
二进制方式搭建集群优缺点:优点: 易于维护,灵活,升级方便 缺点: 安装复杂,没有文档将master1作为deploy节点,未指定节点时默认在master1上进行操作。建议deploy节点与其它节点配置ssh免密登录,配置过程参考:批量实现SSH免密登录 。环境准备环境准备工作请在所有节点进行。主机说明:系统ip角色cpu内存hos...原创 2019-11-16 15:56:05 · 1221 阅读 · 5 评论 -
2. Kubeadm方式搭建k8s集群
Kubeadm方式搭建集群优缺点:优点: 简单优雅,支持高可用,升级方便 缺点: 不易维护,文档不够细致将master1作为deploy节点,未指定节点时默认在master1上进行操作。建议deploy节点与其它节点配置ssh免密登录,配置过程参考:批量实现SSH免密登录 。环境准备环境准备工作请在所有节点进行。主机说明:系统ip角色c...原创 2019-11-14 18:26:36 · 822 阅读 · 0 评论 -
1. 了解Kubernetes
Kubernetes(K8s)是一个开源系统,用于容器化应用的自动部署、扩缩和管理。Kubernetes将构成应用的容器按逻辑单位进行分组以便于管理和发现。Kubernetes基于Google公司在运行生产负载上的15年经验 打造,并融合了来自社区的最佳建议与实践。kubernetes官网Kubernetes架构kubernetes集群的节点只有两类:master节点和node节点。m...原创 2019-11-13 18:16:49 · 471 阅读 · 0 评论 -
使用minikube搭建k8s单节点集群
在国内不翻墙,通过minikube快速搭建k8s单节点环境。下载kubectl:# curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.16.0/bin/linux/amd64/kubectl# mv kubectl /usr/local/bin/ && chmod +x /usr/...原创 2019-11-07 18:09:17 · 1816 阅读 · 1 评论 -
Kubectl常用命令(四)
Kubectl是一个用于操作kubernetes集群的命令行接口,通过利用kubectl的各种命令可以实现各种功能,是在使用kubernetes中非常常用的工具。接下来我们会通过一些简单的实例来展现其中一些高频命令的使用方法,更为重要的是这些命令使用的场景以及能够解决什么样的问题。环境构成集群:类型主机名IPMastermaster192.168.30.128...原创 2019-03-06 14:48:02 · 9517 阅读 · 1 评论 -
Kubectl常用命令(三)
Kubectl是一个用于操作kubernetes集群的命令行接口,通过利用kubectl的各种命令可以实现各种功能,是在使用kubernetes中非常常用的工具。接下来我们会通过一些简单的实例来展现其中一些高频命令的使用方法,更为重要的是这些命令使用的场景以及能够解决什么样的问题。环境构成集群:类型主机名IPMastermaster192.168.30.128...原创 2019-03-05 14:32:37 · 29573 阅读 · 0 评论 -
Kubectl常用命令(二)
Kubectl是一个用于操作kubernetes集群的命令行接口,通过利用kubectl的各种命令可以实现各种功能,是在使用kubernetes中非常常用的工具。接下来我们会通过一些简单的实例来展现其中一些高频命令的使用方法,更为重要的是这些命令使用的场景以及能够解决什么样的问题。环境构成集群:类型主机名IPMastermaster192.168.30.128...原创 2019-03-04 18:25:31 · 19218 阅读 · 0 评论 -
Kubectl常用命令(一)
Kubectl是一个用于操作kubernetes集群的命令行接口,通过利用kubectl的各种命令可以实现各种功能,是在使用kubernetes中非常常用的工具。接下来我们会通过一些简单的实例来展现其中一些高频命令的使用方法,更为重要的是这些命令使用的场景以及能够解决什么样的问题。环境构成集群:类型主机名IPMastermaster192.168.30.128...原创 2019-02-28 17:28:38 · 13194 阅读 · 0 评论 -
Rancher2.x安装及k8s集群部署
安装RancherRancher是业界唯一完全开源的企业级容器管理平台,为企业用户提供在生产环境中落地使用容器所需的一切功能与组件。Rancher2.0基于Kubernetes构建,使用Rancher,DevOps团队可以轻松测试、部署和管理应用程序,运维团队可以部署、管理和维护一切Kubernetes集群,无论集群运行在何基础设施之上。Rancher官网安装docker指定版本:...原创 2019-02-27 12:24:18 · 26103 阅读 · 7 评论 -
Kubernetes之YAML文件
转载自:https://blog.youkuaiyun.com/phantom_111/article/details/79427144YAML 基础YAML是专门用来写配置文件的语言,非常简洁和强大,使用比json更方便。它实质上是一种通用的数据串行化格式。后文会说明定义YAML文件创建Pod和创建Deployment。YAML语法规则:大小写敏感使用缩进表示层级关系缩进时不允许使用...转载 2019-02-21 14:26:29 · 381 阅读 · 0 评论 -
Kubernetes入门(八)
30.12 基于K8S部署Jenkins前面我们已经安装了集群相关插件,包括harbor仓库。有了镜像仓库,那部署应用就很方便。接下来继续部署Jenkins及Gitlab。部署helm相信很多人都使用过Ubuntu下的ap-get或者CentOS下的yum, 这两者都是Linux系统下的包管理工具。采用apt-get/yum,应用开发者可以管理应用包之间的依赖关系,发布应用;用户则可以以...原创 2019-03-15 17:42:20 · 1094 阅读 · 0 评论 -
Kubernetes入门(七)
30.11 后续操作前面已经部署了kubernetes集群和LNMP环境,并运行了discuz,接下来我们继续完善整个kubernetes集群。访问dashboard为了集群安全,从 1.7 开始,dashboard 只允许通过 https 访问,如果使用 kube proxy 则必须监听 localhost 或 127.0.0.1,对于NodePort没有这个限制,但是仅建议在开发环境...原创 2019-02-25 15:15:58 · 1389 阅读 · 0 评论