K8S 基于Rook搭建Ceph集群 云原生存储最佳实践 Kubernetes
0x00 关于Rook
Rook 是一款云原生存储编排服务工具,Ceph 是一种广泛使用的开源分布式存储方案,通过 Rook 可以大大简化 Ceph 在 Kubernetes 集群中的部署和维护工作。
Rook 由云原生计算基金会( CNCF )孵化,且于2020 年 10 月正式进入毕业阶段。Rook 并不直接提供数据存储方案,而是集成了各种存储解决方案,...
K8S ingress 传递用户真实IP Kubernetes
0x01 前言
今天发现后端获取到的用户客户端ip都是内网地址 172.29.241.163。
访问逻辑为:用户访问->nginx->k8s-ingress->后端pod。
但是后端pod获取客户端的ip一直是172.29.241.163,原来这个ip的ingress的上游nginx的ip。
# nginx节点
root@iZbp12bku...
Docker部署minio Kubernetes
1、docker minio 单机挂载单盘
run起来后直接访问http9001就是面板
docker run -it -d --name minio \
--restart=always \
-p 9000:9000 \
-p 9001:9001 \
-v /data/minio/data:/data \
-e "MINIO_ROOT_USER=admin...
K8S部署Fluentd日志采集并推送到Elastic Kubernetes
0x01 前言
使用 fluentd 可以从每个容器收集 stdout/stderr 日志,以及在每个主机上 /var/log/containers/ 路径下的日志文件,日志将被发送到被选择的目标服务。
这里主要记录下Fluentd的部署过程,如何通过Fluentd把K8S集群Pod日志推送到Elastic上,Elastic和Kibana的部署不在这里赘述。...
清理Docker容器日志bash Docker
#!/bin/sh
# 清理Docker容器日志文件的脚本
logs=$(find /var/lib/docker/containers/ -name *-json.log)
for log in $logs
do
echo -n "clean logs :"; du -sh $log
cat /dev/null > $log
...
在使用Rancher2.5管理的K8S集群中,解决Rancher不可用时通过kubectl进行集群管理的问题 Kubernetes
0x00 前言
最近在管理Rancher2.5部署的K8S集群发现一个问题,一旦Rancher Server不可用,直接在K8S master通过kubectl管理集群也会提示连接不到api提示不可用。
分析Rancher UI生成的kubeconfig文件可以发现,当kubectl访问K8S API SERVER的时候,请求是先发送到Rancher,然后再...
K8S使用NodePort时,无法在主机上看到监听的端口 - 探究原因 Kubernetes
0x00 前言
在新版K8S中,即便 Service 使用 nodeport 暴露,在 node 中使用netstat -anp 或者ss -nlt命令上也看不到 kube-proxy 监听的端口了,但是 nodeport 访问是正常的。
Kubernetes服务不是作为侦听特定端口的进程来实现的。取而代之的是使用iptables (或IPVS),服务基本上...
K8S滚动更新Java项目的一些踩坑经验分享 Kubernetes
1、滚动更新之健康检查重要性
spec:
containers:
- name: my-container
readinessProbe:
tcpSocket:
port: 9999
initialDelaySeconds: 60
periodSeconds: 10
...
K8S 基于Metrics Server CPU指标的pod弹性伸缩(HPA) Kubernetes
0x00 前置条件
1、开启K8S API聚合。关于API聚合:https://kubernetes.io/zh-cn/docs/concepts/extend-kubernetes/api-extension/apiserver-aggregation/
2、集群中安装Metrics Server。
0x01 开启Kubernetes API Aggreg...
K8S HPA(Horizontal Pod Autoscaler)介绍 Kubernetes
0x00 HPA基本介绍
Kubernetes 中的 Metrics Server 持续采集所有 Pod 副本的指标数据。HPA 控制器通过 Metrics Server 的 API(Heapster 的 API 或聚合 API)获取这些数据,基于用户定义的扩缩容规则进行计算,得到目标 Pod 副本数量。当目标 Pod 副本数量与当前副本数量不同时,HPA ...