kubernetes

Aug
22
Kubernetes 1.20+  NFS Provisioner 无法正常使用

Kubernetes 1.20+ NFS Provisioner 无法正常使用

问题描述 在使用**Kubernetes 1.20+**部署NFS Provisioner时,会发现在创建PersistentVolumeClaim 时状态始终为Pending,并抛出以下异常: unexpected error getting claim reference: selfLink was empty, can't make
3 min read
Jul
31
K8s Job资源使用笔记

K8s Job资源使用笔记

我们在一个新环境里部署应用,经常会结合Job控制器来实现我们的初始化数据。当然,这是一种最简单的使用场景,创建一个 Job 对象以便以一种可靠的方式运行某 Pod 直到完成。同时这个Pod初始化数据时依赖某个服务接口、数据库、又或者是其它的中间件服务,所以我们就需要使用一些条件去判断--循环请求,延时,直到接口正常返回数据。 某个HTTP接口 不死不休版 顾名思义,探测URL没有正常返回我就一直重试--天荒地老、不死不休。
4 min read
Jun
08
Elasticsearch + Kibana + Fluent-bit日志采集方案

Elasticsearch + Kibana + Fluent-bit日志采集方案

序 在本文中,将简单说明如何在Kubernetes环境下部署 Elasticsearch服务、Kibana服务、Fluent Bit服务,通过Kibana服务进行可视化预览, 同时我们将以Fluent-Bit 进行日志收集。 本文所部署服务为典型的EFK日志系统,至少是这些组件。如果部署了一整套EFK系统,从中选择某个Pod的日志也需要进一步进行筛选过滤才能得到需要的日志。有时候我们不需要收集整个集群所产生的日志内容,而是只关心某个命名空间、某个模块所产生的日志,这时候就需要更为灵活的日志代理部署模式了,我们通常称之为“Sidecar”
9 min read
Mar
30
Ingress-nginx 中开启 Brotili 压缩算法

Ingress-nginx 中开启 Brotili 压缩算法

Brotli是Google开发的一种压缩方法,于2015年发布。我们常用的压缩算法是 gzip(Ingress-nginx也是默认使用gzip),据说brotli要比gzip高出20%至30%的压缩率。 ingress-nginx 配置 默认的压缩算法是gzip,压缩级别为1,如需要启用brotli,需要配置以下三个参数: enable-brotli: true 或 false,是否启用brotli压缩算法 brotli-level:
1 min read
Jun
27
java容器无法使用jmap命令

java容器无法使用jmap命令

jmap是java一个常用的辅助工具,它可以输出所有内存中对象,来检查内存泄漏等问题,然而在容器里使用jmap命令时,会遇到以下错误: / # ps -ef PID USER TIME COMMAND 1 root 1h30 java -jar /app-salary.jar --sahara.config.
2 min read
Nov
01
Kubernetes 部署私有云镜像harbor

Kubernetes 部署私有云镜像harbor

前言Harbor是一个可以在Kubernetes上运行的容器存储库。我认为对于那些希望在私有云中拥有自己的容器存储库的人来说,这将是一种选择。功能包括多租户,映像复制和容器映像漏洞检查。 本部署文档的PV未使用共享存储,仅使用HostPath,作为生产应该使用共享存储。 环境Kubernetes v1.14.6-aliyun.1Helm v2.12.3为保证应用调度到指定节点,为node新增一个标签 kubectl label nodes
4 min read
Aug
02
Metallb--私有集群的LoadBalancer

Metallb--私有集群的LoadBalancer

背景Kubernetes没有为裸机群集提供网络负载均衡器(LoadBalancer)的实现。Kubernetes提供的Network LB的实现都是粘合代码,可以调用各种IaaS平台(GCP,AWS,Azure ......)。如果您未在受支持的IaaS平台(GCP,AWS,Azure ...)上运行,则LoadBalancers将在创建时无限期地保持“挂起”状态。 裸机群集运营商留下了两个较小的工具来将用户流量带入其集群,“NodePort”和“
7 min read
Jul
13
定期下载github最新k8s发布版本

定期下载github最新k8s发布版本

从api中获取仓库最近版本的下载地址,并选择最近的N个版本下载下来。 #!/usr/bin/env bash # 文件名: download-binary-of-k8s_multiver.sh # 功能: 获取github仓库最新发布版本并下载到本地,包含beta版本 #author=$1 #project_name=$2 count=2
1 min read
Feb
15
如何解决在初始化kubernetes集群时无法访问gcr.io?

如何解决在初始化kubernetes集群时无法访问gcr.io?

国内网络比较特殊化,无法直接访问gcr.io,这导致了我们在正常初始化kubernetes集群时会失败--kubernetes在使用kubeadm工具时会自动拉取gcr.io上面的docker镜像。这时我们需要通过一些特殊的手段来解决该问题。 方法一、镜像替换法 顾名思义,就是从别的地方下载集群所需要的docker镜像,然后将这些镜像tag标记成gcr.io镜像,这样在集群初始化时的镜像依赖就可以得到解决。 查看集群环境需要镜像列表 $ sudo kubeadm config images list k8s.
3 min read
Feb
12
使用kubeadm 部署多master 高可用集群

使用kubeadm 部署多master 高可用集群

环境清单 OS: Debian-9.5 Docker 版本: 18.06 Master 节点IP: 192.168.11.81 192.168.11.82 192.168.
11 min read