金服k8s
2021-04-06 16:05:16 2 举报
AI智能生成
k8s部署知识点梳理
作者其他创作
大纲/内容
namespace
xxwjf
金服服务
defult
集群基础组件
ingress-nginx
ingress
kube-system
k8s系统部署
存储
静态pv/pvc
NFS挂载:10.50.32.90:/data
pv001:nginx-root
pv002:nginx-conf
pv003:zookeeper-data01
pv004:zookeeper-data02
pv005:zookeeper-data03
动态持久化StorageClass
服务部署
新希望金服部署策略
0、获取要更新的包和配置文件
1、自动生成Dockerfile并核验配置
2、自动生成images,并推送harbor
3、自动生成yaml文件,并获取镜像,部署
脚本+模板:create-image.sh,template-dockerfile,template-deplyment.yaml
持续部署流水线
gitlab-jenkins pipline-harbor
ingress
作用域:对外提供服务
eureka:http://eureka01.newhope.cn/
nginx:http://www.ingress.com/
service
clusterIP:集群内提供服务
nodeport:集群外映射
pods
有状态服务StatefulSet
nginx
创建pvc,映射宿主机
配置目录conf
程序根目录root/html
污点设置,排它性
lab标记
zookeeper
数据持久化
数据卷创建pvc
子主题
无状态服务deployment
java程序
eureka
子主题
configmap配置
vlome
file
date
Dockfile
1、Dockerfile创建镜像,
java基础镜像
centos7+jdk8+必要目录
其它基础镜像
2、打tag,push到harbor
3、k8s pull到部署节点
资源管理
集群资源管理
节点管理
存储管理
容器资源管理
内存
cpu
cicd
子主题
集群架构
master节点(keepalive)
master01:10.50.32.90
master02:10.50.32.91
masger03:10.50.32.92
VIP:10.50.32.100
node节点
node01:10.50.32.93
node02:10.50.32.94
node03:10.50.32.95
node0.........扩展
ETCD集群
etcd01:10.50.32.90
etcd02:10.50.32.91
etcd03:10.50.32.92
harbor私服
10.50.32.96
账号密码:regopr/Newhope@123
网络
网络组件:calico
宿主机网段:10.50.32.0/24
pod网段:172.168.0.0/16
service网段:10.96.0.0/12
集群内service_url
eureka:eureka01.xxwjf.svc.cluster.local
zookeep:
nginx:
子主题
子主题
面板
https://10.50.32.100:32333/
子主题
日志收集
常用收集方案比较
- 一般日志收集方案
金服方案,3:所有pod日志挂载strogeclass
1、程序改变日志输出目录,添加${HOSTNAME}标记;
- 例如/app/logs/${HOSTNAME}/batchplatform
2、多个pod,pod日志挂载在宿主机存储劵上
3、elk:每个节点启动filebeat, 收集日志到es
yaml中添加代码:
args:
- "-c"
- |
set -ex
mkdir /app/logs/${HOSTNAME}
sleep 1
cd /app/apps;sh /app/apps/batchplatform.sh
volumeMounts:
- name: pod-logs
mountPath: /app/logs
volumes:
- name: pod-logs
hostPath:
path: /data/logs-pod
- "-c"
- |
set -ex
mkdir /app/logs/${HOSTNAME}
sleep 1
cd /app/apps;sh /app/apps/batchplatform.sh
volumeMounts:
- name: pod-logs
mountPath: /app/logs
volumes:
- name: pod-logs
hostPath:
path: /data/logs-pod
监控
prometheus+grafana+alertmanager(告警插件)
prometheus: http://10.50.32.94:30090/
grafana:http://10.50.32.94:30091/
告警规则
手写、代码格式:prometheus_rules:
rules:
- alert: NodeFilesystemUsage
expr: 100 - (node_filesystem_free_bytes{fstype=~"ext4|xfs"} / node_filesystem_size_bytes{fstype=~"ext4|xfs"} * 100) > 80
for: 1m
labels:
severity: warning
annotations:
summary: "Instance {{ $labels.instance }} : {{ $labels.mountpoint }} 分区使用率过高"
description: "{{ $labels.instance }}: {{ $labels.mountpoint }} 分区使用大于80% (当前值: {{ $value }})"
- alert: NodeMemoryUsage
expr: 100 - (node_memory_MemFree_bytes+node_memory_Cached_bytes+node_memory_Buffers_bytes) / node_memory_MemTotal_bytes * 100 > 80
for: 1m
labels:
severity: warning
annotations:
summary: "Instance {{ $labels.instance }} 内存使用率过高"
description: "{{ $labels.instance }}内存使用大于80% (当前值: {{ $value }})"
rules:
- alert: NodeFilesystemUsage
expr: 100 - (node_filesystem_free_bytes{fstype=~"ext4|xfs"} / node_filesystem_size_bytes{fstype=~"ext4|xfs"} * 100) > 80
for: 1m
labels:
severity: warning
annotations:
summary: "Instance {{ $labels.instance }} : {{ $labels.mountpoint }} 分区使用率过高"
description: "{{ $labels.instance }}: {{ $labels.mountpoint }} 分区使用大于80% (当前值: {{ $value }})"
- alert: NodeMemoryUsage
expr: 100 - (node_memory_MemFree_bytes+node_memory_Cached_bytes+node_memory_Buffers_bytes) / node_memory_MemTotal_bytes * 100 > 80
for: 1m
labels:
severity: warning
annotations:
summary: "Instance {{ $labels.instance }} 内存使用率过高"
description: "{{ $labels.instance }}内存使用大于80% (当前值: {{ $value }})"
监控内容
集群监控
api
进程
主机监控
主机基础监控
容器pod监控
告警方式
邮件
微信
安全
容灾
集群
容器
节点
漂移
0 条评论
下一页