kubernetes

Sep
03
Istio 札记杂录

Istio 札记杂录

Istio ingress 配置SSL证书 方法1 使用证书名称引入 删除已存在的证书 # kubectl --ignore-not-found=true -n istio-system delete secret ingressgateway-credential 创建新证书 # kubectl create -n istio-system secret
5 min read
Aug
22
Prometheus-Operator 添加位于集群外的节点服务

Prometheus-Operator 添加位于集群外的节点服务

在Kubernetes中部署Prometheus我们通常使用Operator来部署,比如使用以下命令: helm repo add prometheus-community https://prometheus-community.github.io/helm-charts helm install my-prometheus prometheus-community/prometheus --version 15.12.0
5 min read
Jul
16
使用非特权nginx容器镜像

使用非特权nginx容器镜像

序 容器使用非root用户是一种安全共识,而我们常用的nginx官方提供的容器镜像--docker.io/library/nginx:latest却是使用到root权限。今无意发现有个nginx-unprivileged容器镜像,使用的是非root用户。 测试 镜像拉取 docker pull nginxinc/nginx-unprivileged:1.21.4 创建容器 docker
1 min read
Mar
01
如何正确收缩已部署的Kubernetes应用

如何正确收缩已部署的Kubernetes应用

【封面图片:广州市天河国际乒乓培训中心】如何正确收缩已部署的Kubernetes应用
4 min read
Jan
30
体验Keda + Redis 实现副本自动扩/缩容

体验Keda + Redis 实现副本自动扩/缩容

关于KEDAKEDA是一个Kubernetes基于事件驱动的自动缩放器。 KEDA可以根据需要处理的事件数量来推动 Kubernetes 中任何容器的扩展。 KEDA是一个单一用途的轻量级组件,可以添加到任何 Kubernetes 集群中。KEDA 与Horizontal Pod Autoscaler等标准 Kubernetes 组件一起工作,同时可以在不覆盖的情况下扩展功能。 KEDA可以明确映射想要使用事件驱动规模的应用程序,而其他应用程序继续运行。这使得 KEDA 成为与任意数量的任何其他
3 min read
Jan
28
如何使用Kubectl 滚动重启应用

如何使用Kubectl 滚动重启应用

Kubernetes 中的 Pod 通常应该是"Running"状态,然而有时候我们需要针对正在运行的Pod调度到其它的节点或是基于其它特殊的原因,将正常运行的Pod进行重启。Pod的重启方式也有不少,比如常见删除正在运行的Pod让其创建新的Pod实例(单个Pod无法直接使用该方式)。以下罗列出几种常见的方式仅供备忘: 方法1:滚动重启方法[推荐] 自 Kubernetes 1.
2 min read
Nov
23
解决CNI报failed to find plugin "bridge" in path [/opt/cni/bin]错误

解决CNI报failed to find plugin "bridge" in path [/opt/cni/bin]错误

在部署 Kubernates 集群时,CoreDNS 的Pod始终处于**"ContainerCreating"**状态,正如下所示: # k get pod -n kube-system NAME READY STATUS RESTARTS AGE coredns-546565776c-8rtm4 0/
2 min read
Nov
09
etcd 数据备份与恢复

etcd 数据备份与恢复

etcd 数据备份与恢复   etcd 是高性能K/V数据库,Kubernetes系统中所有数据都存储于etcd数据中,所以为保障Kubernetes的可用性,针对etcd的备份还是很有必要的。 etcd容器运行 备份 冷备份   Kubeadm默认安装时,etcd的存储数位于节点的/var/lib/etcd/目录,将此目录下的文件定期复制归档压缩起来,如果以后etcd的数据出现问题,需要恢复时,
3 min read
Oct
28
使用普通用户运行容器应用

使用普通用户运行容器应用

序言   从安全的角度,容器应该创建一个普通的用户来运行应用,这样在一定的程度上可以保障应用的安全。实现的方式也简单,在创建Dockerfile 中定义普通用户的UID与GID。在K8S YAML资源中使用runAsUser*(注意:值需要与Dockerfile所定义的一致,否则会提示权限问题)*来运行应用。 Dockerfile 创建普通用户 Debian 镜像 FROM node:slim
2 min read
Sep
26
容器环境 JVM 内存动态配置

容器环境 JVM 内存动态配置

在微服务架构中,JAVA 框架占用了绝大部分的市场,比如Spring Cloud、Dubbo等,其中在使用容器化部署的时候经常碰到关于JVM的内存分配的大小的配置,以下来讲述自己所用到过的配置方式。 固定配置 此方式,顾名思义,就是将JVM参数进行固定化,比如在将JAR打包成容器镜像时 FROM openjdk:8-jdk-alpine LABEL maintainer="Shuhui&
4 min read