![](https://img-blog.csdnimg.cn/20190909090316352.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
kubernetes
Happywzy~
这个作者很懒,什么都没留下…
展开
-
使用yaml文件安装ingress-nginx
本文使用kubernetes环境: v1.19,不是这个版本apiVersion可能不一样.说明之前通过helm方式安装ingress-nginx,具体参考3.2 使用Helm部署Nginx Ingress.但是现在http://mirror.azure.cn/kubernetes/charts仓库已经无法使用.本文通过yaml文件安装.创建serviceaccount这里没有梳理可能用到的权限,所以直接赋予了全部权限.apiVersion: v1kind: ServiceAccoun.原创 2021-07-05 17:10:41 · 716 阅读 · 0 评论 -
k8s中挂载的configmap或者secret更新后服务自动更新
插件说明当我们部署的DeploymentConfig, Deployment, Daemonset, Statefulset等服务所挂载的ConfigMap或Secret发生变化的时候,我们的服务可以自动更新.官网插件安装# kubernetes >= 1.9kubectl apply -f https://raw.githubusercontent.com/stakater/Reloader/master/deployments/kubernetes/reloader.yaml使用原创 2021-07-05 10:03:22 · 1751 阅读 · 0 评论 -
springboot集成Prometheus
接口说明springboot集成Prometheus需要开发的接口有:监控JVM、tomcat等相关的指标;自定义监控程序相关指标;监控JVM、tomcat等相关的指标micrometer已经为我们做好了相关的接口,只需要引入依赖即可.<!--集成Prometheus--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spr原创 2021-06-23 10:34:38 · 1420 阅读 · 0 评论 -
kubeadm更新证书及配置
问题通过 kubeadm部署k8s,默认生成的证书有效期是一年.需要每年更新证书.查看证书有效期kubeadm alpha certs check-expiration更新证书kubeadm alpha certs renew all通过crontab定时更新证书0 0 15 10 * kubeadm alpha certs renew all证书过期kubectl命令无法使用# 更新客户端配置sudo cp -i /etc/kubernetes/admin.conf $HOME/原创 2020-12-09 13:48:11 · 1889 阅读 · 0 评论 -
kubernetes统一日志【loki持久化相关配置】
查看配置# 查看helm安装Loki默认配置[root@master ~]# helm inspect values loki/loki > loki.yaml[root@master ~]# cat loki.yaml# 部分配置config: storage_config: boltdb: directory: /data/loki/index filesystem: directory: /data/loki/chunks table_m原创 2020-09-01 15:04:56 · 2543 阅读 · 0 评论 -
pushgateway安装使用
PushGateway使用说明Prometheus采用定时Pull模式,可能由于子网络或者防火墙的原因,不能直接拉取各个Target的指标数据,此时可以采用各个Target往PushGateway上Push数据,然后Prometheus去PushGateway上定时pull其次在监控各个业务数据时,需要将各个不同的业务数据进行统一汇总,此时也可以采用PushGateway来统一收集,然后Prometheus来统一拉取Prometheus每次从PushGateway拉取的数据,并不是拉取周期内用户推送原创 2020-08-12 14:08:31 · 1072 阅读 · 0 评论 -
k8s【coredns解析问题分析解决】
问题[root@master busybox]# kubectl get pod -nkube-system -owideNAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATEScoredns-5c98db65d4-8zjps 1/1 Running 1 2d原创 2020-07-02 10:55:01 · 4275 阅读 · 0 评论 -
k8s【如果忘记master节点init后join命令怎么办】
格式首先我们可以知道kubeadm join格式如下:kubeadm join 192.168.99.11:6443 --token 4qcl2f.gtl3h8e5kjltuo0r \ --discovery-token-ca-cert-hash sha256:7ed5404175cc0bf18dbfe53f19d4a35b1e3d40c19b10924275868ebf2a3bbe6e获取tokenmaster节点执行:[root@master ~]# kubeadm token li原创 2020-06-04 17:24:32 · 4430 阅读 · 0 评论 -
k8s【PostStart钩子】
PostStart容器生命周期钩子(Container Lifecycle Hooks)监听容器生命周期的特定事件,并在事件发生时spec: containers: - name: lifecycle-demo-container image: nginx lifecycle: postStart: exec: command: ["/bin/sh", "-c", "echo Hello from the postStart han原创 2020-06-04 15:27:31 · 5280 阅读 · 0 评论 -
Helm search charts
Discover & launch great Kubernetes-ready apps原创 2020-05-29 15:53:39 · 728 阅读 · 0 评论 -
k8s证书管理【Cert manager自动签发/更新证书】
Cert manager使用的是免费证书Let's Encrypt,并支持在证书过期时自动更新。本文Cert manager使用版本:v0.12.0官方文档:https://cert-manager.io/docs添加helm源注意stable/cert-manager已经过时不再维护了,转到jetstack/cert-manager。helm repo add j...原创 2020-01-06 15:25:59 · 4048 阅读 · 1 评论 -
k8s问题【删除namespace一直处于Terminating状态】
正常删除kubectl delete namespace NAMESPACENAME强制删除kubectl delete namespace NAMESPACENAME --force --grace-period=0修改finalizers,删除下面红色框内容kubectl edit namespace NAMESPACE_NAME如果没有上面的finalizers内...原创 2019-12-27 16:29:44 · 2282 阅读 · 0 评论 -
Istio使用【Bookinfo示例】
Bookinfo示例简介Bookinfo是istio官网示例,应用程序分为四个单独的微服务:productpage。该productpage微服务调用details和reviews微服务来填充页面。 details。该details微服务包含图书信息。 reviews。该reviews微服务包含了书评。它们调用ratings微服务。 ratings。该ratings微服务包含预定...原创 2019-12-26 17:12:20 · 3275 阅读 · 0 评论 -
Istio使用【链路监控】
本文使用istio版本:1.4.2开启链路监控....## addon jaeger tracing configuration#tracing: enabled: true....可以看出。istio链路监控集成使用的是Jaeger,Jaeger是什么,参考这篇。查看是否启动成功[root@k8s-master istio-1.4.2]# kubectl...原创 2019-12-26 14:22:36 · 1124 阅读 · 0 评论 -
Istio使用【dashboard—kiali】
本文使用的istio版本号:1.4.2配置安装kiali默认配置,istio并未选择安装kiali,参考安装,修改values.yamlvim install/kubernetes/helm/istio/values.yaml....kiali: enabled: true....同时如果需要链路监控,需要开启安装jaeger....tracing: ...原创 2019-12-25 15:38:30 · 4111 阅读 · 0 评论 -
Istio使用【sidecar注入】
本文使用的版本号:1.4.2查看默认sidecar配置kubectl get mutatingwebhookconfiguration istio-sidecar-injector -o yaml | grep "namespaceSelector:" -A5 namespaceSelector: matchLabels: istio-injection: ...原创 2019-12-25 11:29:41 · 2923 阅读 · 1 评论 -
istio使用【安装配置】
本文使用的版本号:1.4.2自定义安装组件参考安装页面,官网给配置分了几个级别,分别代表: default:根据IstioControlPlaneAPI的默认设置启用组件(建议用于生产部署)。您可以通过运行命令显示默认设置istioctl profile dump。 demo:旨在展示Istio功能且资源需求适中的配置。适合运行Bookinfo应用程序和相关...原创 2019-12-25 10:32:38 · 1120 阅读 · 0 评论 -
istio部署【在kubernetes上部署】
准备工作下载istio,下载页面,下载与您的操作系统相对应的安装文件。Linux上可以直接执行下面命令下载并解压最新版curl -L https://istio.io/downloadIstio | sh -移至Istio软件包目录。例如,如果软件包为istio-1.4.2:cd istio-1.4.2安装目录包含:Kubernetes的安装YAML文件在insta...原创 2019-12-24 17:23:08 · 1113 阅读 · 0 评论 -
Helm常用命令总结
Helm用途做为Kubernetes的一个包管理工具,Helm具有如下功能:创建新的chart chart打包成tgz格式 上传chart到chart仓库或从仓库中下载chart 在Kubernetes集群中安装或卸载chart 管理用Helm安装的chart的发布周期Helm有三个重要概念:chart:包含了创建Kubernetes的一个应用实例的必要信息 config...原创 2019-12-18 09:52:47 · 6566 阅读 · 0 评论 -
日志聚合工具Loki安装使用【采用helm安装】
介绍Loki是 Grafana Labs 团队最新的开源项目,是一个水平可扩展,高可用性,多租户的日志聚合系统。它的设计非常经济高效且易于操作,因为它不会为日志内容编制索引,而是为每个日志流编制一组标签。项目受 Prometheus 启发,官方的介绍就是:Like Prometheus, but for logs.,类似于 Prometheus 的日志系统。与其他日志聚合系统相比,Lok...原创 2019-12-17 11:01:31 · 5700 阅读 · 2 评论 -
k8s动态分配存储【创建新的StorageClass】
apiVersion: storage.k8s.io/v1kind: StorageClassmetadata: annotations: storageclass.kubernetes.io/is-default-class: "true" labels: app: nfs-client-provisioner chart: nfs-client-provi...原创 2019-12-17 09:40:57 · 1422 阅读 · 0 评论 -
多租户容器平台KubeSphere
待研究~原创 2019-12-16 18:09:37 · 447 阅读 · 0 评论 -
helm 本地仓库及图形化 kubeapps
待研究~原创 2019-12-16 18:08:54 · 519 阅读 · 0 评论 -
K8s中时区问题【使用PodPreset方法】
K8S启动的POD,默认时区与中国相差8小时,在排查问题或者查看日志时非常不方便。 增加容器环境变量,指定时区 docker run -it --rm -e "TZ=Asia/Shanghai" centos对应k8s中配置apiVersion: v1kind: Podmetadata: name: pod-env-tzspec: containers: ...原创 2019-12-16 16:03:40 · 2637 阅读 · 1 评论 -
K8s问题【flannel一直重启问题,CrashLoopBackOff】
kubectl describe 命令查看Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal Scheduled 13m ...原创 2019-12-16 15:05:03 · 12886 阅读 · 1 评论 -
prometheus-operator使用【创建Alertmanager的Webhook】
上文介绍了Alertmanager集成钉钉,我们还可以自己写一个webhook,用于接收Alertmanager的通知服务。获取Alertmanager的请求内容参考前文,我们知道Alertmanager会向配置的webhook地址发送一个POST请求,这里我们先编写一个简单的controller,用于接收Alertmanager的请求,如下: @RequestMappin...原创 2019-12-03 14:38:49 · 1043 阅读 · 0 评论 -
prometheus-operator使用【prometheus配置说明】
全局配置参考官网:https://prometheus.io/docs/prometheus/latest/configuration/configuration/#kubernetes_sd_configglobal: # How frequently to scrape targets by default. [ scrape_interval: <duration&...原创 2019-11-29 15:23:20 · 2025 阅读 · 0 评论 -
prometheus-operator使用【创建新的Alertmanager】
Alertmanager是安装prometheus-operator时默认新增的自定义资源类型(CRD),我们可以直接在K8s中创建这样的资源。创建alert-test.yamlapiVersion: monitoring.coreos.com/v1kind: Alertmanagermetadata: generation: 1 labels: app: prom...原创 2019-11-29 11:05:27 · 1922 阅读 · 0 评论 -
prometheus-operator使用【了解Alertmanager通知机制】
Alertmanager简介及机制Alertmanager处理由例如Prometheus服务器等客户端发来的警报。它负责删除重复数据、分组,并将警报通过路由发送到正确的接收器,比如电子邮件、Slack等。Alertmanager还支持groups,silencing和警报抑制的机制。分组分组是指将同一类型的警报分类为单个通知。当许多系统同时宕机时,很有可能成百上千的警报会同时生成,这...原创 2019-11-28 17:14:46 · 1994 阅读 · 0 评论 -
prometheus-operator使用【自定义PrometheusRule】
PrometheusRule介绍PrometheusRule是安装prometheus-operator时默认安装的自定义资源对象(CRD),用来管理Prometheus上的告警规则,后面增删改查规则都可以通过这个资源对象查询。例如查询默认加入的规则,通过下面的命令可以查询。[root@k8s-master prometheus-operator]# kubectl get Pro...原创 2019-11-28 11:39:33 · 4526 阅读 · 0 评论 -
k8s集群监控【使用Helm一键安装Prometheus Operator】
介绍首先我们先来了解下Prometheus-Operator的架构图:上图是Prometheus-Operator官方提供的架构图,其中Operator是最核心的部分,作为一个控制器,他会去创建Prometheus、ServiceMonitor、AlertManager以及PrometheusRule4个CRD资源对象,然后会一直监控并维持这4个资源对象的状态。其中创建的prom...原创 2019-11-22 11:03:54 · 1929 阅读 · 0 评论 -
k8s集群监控【采用Prometheus+Grafana】
前言Prometheus 最初是 SoundCloud 构建的开源系统监控和报警工具,是一个独立的开源项目,于2016年加入了 CNCF 基金会,作为继 Kubernetes 之后的第二个托管项目。特征Prometheus 相比于其他传统监控工具主要有以下几个特点:具有由 metric 名称和键/值对标识的时间序列数据的多维数据模型 有一个灵活的查询语言 不依赖分布式存储,只...原创 2019-11-22 11:00:41 · 357 阅读 · 0 评论 -
Kubernetes日志收集系统【Elasticsearch、Fluentd 和 Kibana】
前言Elasticsearch是一个实时的、分布式的可扩展的搜索引擎,允许进行全文、结构化搜索,它通常用于索引和搜索大量日志数据,也可用于搜索许多不同类型的文档。Elasticsearch 通常与Kibana一起部署,Kibana 是 Elasticsearch 的一个功能强大的数据可视化 Dashboard,Kibana 允许你通过 web 界面来浏览 Elasticsearch...原创 2019-11-19 15:54:00 · 374 阅读 · 1 评论 -
ingress-nginx外部认证
https://www.lijiaocn.com/soft/k8s/ingress-nginx/auth-ext.html转载 2019-11-19 11:51:10 · 724 阅读 · 0 评论 -
ingress-nginx自带认证功能【nginx自带】
创建用户,设置密码 用下面的三个操作,创建 basic-auth 用户 foo,密码 123456,将用户信息提交到 kubernetes:$ htpasswd -c auth foo$ kubectl -n demo-echo create secret generic basic-auth --from-file=auth注意其中命名空间demo-echo,secret ...转载 2019-11-19 11:35:26 · 1324 阅读 · 0 评论 -
ingress-nginx设置https证书
创建自签署证书注意证书中的CN=tls.echo.example改成自己的域名地址。echo "生成自签署的 ca 证书"openssl req -x509 -sha256 -newkey rsa:4096 -keyout ca.key -out ca.crt -days 3560 -nodes -subj '/CN=My Cert Authority'echo "生成用上述 c...转载 2019-11-19 11:26:00 · 3112 阅读 · 0 评论 -
k8s动态分配存储【helm安装nfs-client】
前文:在所有节点安装nfs-utils并启动相关服务。NFS服务端新建一个挂载目录echo "/home/nfs *(rw,async,no_root_squash)" >> /etc/exportsexportfs -rshowmount -e localhost安装nfs-clienthelm install stable/nfs-client-provi...原创 2019-11-18 15:41:52 · 1716 阅读 · 0 评论 -
K8s持久化存储【使用NFS】
k8s所有节点安装NFSyum install nfs-utils#所有节点,不论NFS服务端还是客户端systemctl enable rpcbindsystemctl start rpcbind#NFS服务端systemctl enable nfssystemctl start nfs在NFS服务端配置挂载磁盘创建目录:mkdir /data 修改权限:chmo...原创 2019-11-15 16:24:05 · 769 阅读 · 0 评论 -
k8s与harbor联合使用【k8s拉取harbor中镜像】
前提:已经搭建K8s集群、harbor服务,且已经在机器上配置可以从harbor中拉取上传镜像。概要:要想k8s从harbor中拉取镜像,需要有harbor的用户、密码、服务器信息,然后在k8s指定namespace中创建docker-registry类型。创建docker-registry,有两种方式,命令行和YAML第一种方式:命令行kubectl create sec...原创 2019-11-08 10:57:16 · 7569 阅读 · 1 评论 -
k8s资源限制【针对namespace、pod、Container】
K8s中对资源的限制分以下情况:对namespace中容器、pod等使用总和限制 ResourceQuota 对namespace中容器、pod等使用单独限制: LimitRange 创建一个namespace用于测试kubectl create namespace quota-mem-cpu-example创建一个ResourceQuota对namespa...原创 2019-11-07 16:45:34 · 1684 阅读 · 0 评论