K8S遇到的问题
K8S遇到的问题
·
入职了一个新公司,搞k8s的,此博客记录遇到的问题,和如何处理
1. 公司实现无感知进行发布,也相当于项目不进行中中断,使用的资源是deploy,配置文件如下:健康检查就暂时不进行填写了
apiVersion: apps/v1
kind: Deployment
metadata:
creationTimestamp: null
labels:
app: nginx
name: nginx
spec:
replicas: 4
selector:
matchLabels:
app: nginx
strategy:
type: RollingUpdate # 配置滚动更新
rollingUpdate:
maxSurge: 100% # 期望ready的副本数比
maxUnavailable: 0 # 可以理解为不可调度资源副本数为0个
template:
metadata:
labels:
app: nginx
spec:
containers:
- image: nginx
name: nginx
resources:
limits:
cpu: 1536m #限制pod申请最大的cpu数量为1个cpu
memory: 1024Mi #申请内存最大值
requests:
cpu: 200m # 最小使用限制
memory: 200Mi # 限制
startupProbe: # 启动探针
httpGet:
path: /monitor/info
port: 80
scheme: HTTP
initialDelaySeconds: 400 # 初始化时间,这个主要是看业务启动的时候是否出现慢的情况,需要进行加载一些配置
timeoutSeconds: 10 # 超时间
periodSeconds: 10 # 检测间隔
successThreshold: 1 # 检测成功一次代表可以接受接收浏览数据
failureThreshold: 5 # 检测2此访问失败测拒绝流量数据
readinessProbe: # 就绪探针
httpGet: # 通过访问的方式进行检测
path: /monitor/info # 默认页面
port: 80 # 访问80端口
scheme: HTTP # http请求
initialDelaySeconds: 400 # 初始化时间,这个主要是看业务启动的时候是否出现慢的情况,需要进行加载一些配置
timeoutSeconds: 10 # 超时间
periodSeconds: 10 # 检测间隔
successThreshold: 1 # 检测成功一次代表可以接受接收浏览数据
failureThreshold: 5 # 检测2此访问失败测拒绝流量数据
livenessProbe: # 存活探针
tcpSocket:
port: 80
initialDelaySeconds: 400 # 初始化时间,这个主要是看业务启动的时候是否出现慢的情况,需要进行加载一些配置
timeoutSeconds: 10 # 超时间
periodSeconds: 10 # 检测间隔
successThreshold: 1 # 检测成功一次代表可以接受接收浏览数据
failureThreshold: 5 # 检测2此访问失败测拒绝流量数据
docker 安装成功之后,出现无法使用的情况,如下:docker有的版本已经废弃掉这个参数了
因为公司使用的xfs的磁盘导致的。xfs文件系统却不支持d-type,需要在配置文件中进行添加:“storage-driver”:“devicemapper”,即可,如下图所示:
公司测试环境k8s内部pod要和办公环境进行打通
- 第一种方式可以参考:http://www.caotama.com/1941670.html
- 第二种方式受用openvpn进行打通 # 测试是可以的,openvpn在k8s可以访问到pod节点中进行配置即可,
可以在百度网盘中进行下载:失效请联系我
链接:https://pan.baidu.com/s/1Ej7a8Ug-_5ApeV0bCN_Ddg?pwd=zudx
提取码:zudx
--来自百度网盘超级会员V4的分享
如图所示:
ingres转发txt文件
场景描述:
公司架构是ingress》svc》deploy》pod,pod镜像相当于直接是java -jar启动的,(没有静态文件,所以无法在nginx层进行配置)
一,让开发进行修改在代码层面进行配置
二,进行配置ingress-nginx参数:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
nginx.ingress.kubernetes.io/server-snippet: | # 这个参数也是一个大佬进行指点的才知道的,官网有说明这个参数,但是没有找到直接配置location
location = /union.txt {
default_type text/plain;
return 200 "6ed645f4a97ad2fd887c01abdc8802d7";
}
name: www.lu0601.top # ingress-nginx的名字
spec:
ingressClassName: nginx
rules:
- host: www.lu0601.top
http:
paths:
- path: /
pathType: ImplementationSpecific
backend:
service:
name: jenkins # 模拟java启动的页面
port:
number: 8080
公司java下项目莫名其妙挂掉,日志也没有显示什么有用的问题
Dockerfile打包命令如下:此方式相当于默认是21MB,需要修改大一点:
修改后
更多推荐
已为社区贡献11条内容
所有评论(0)