1、cicd持续集成部署:gitlab、jenkins、maven build、docker build、harbor、yaml、版本统计
2、监控告警、日志:
elk:filebeat—kafka—logstash—elastcsearch—kibana
kibana:关键字
zabbix、服务器性能、rabbitmq:15672、kafka-java、nginx accesslog 400-500
grafana:订单量、关键接口、accesslog统计
prometheus:fastdfs、k8s集群
3、流程规范:
钉钉工单
蓝鲸平台:jenkins接口发布、回滚、重启、apollo配置、k8s集群node节点扩容、应用容器扩容、新增应用
4、腾讯云:CLB、CVM、VPC、NAT、域名、容器编排TKE、ACK、redis、mysql
5、用户问题处理,跟开发或者产品跟进问题的处理,产品优化
6、技术栈:
k8s:
1、kube-proxy:api-server的watch接口实时监听service和endpoint的状况,将service的访问请求转发到对应的后端pod上;iptables和ipvs都是用netfilter实现,iptables是线性的数据结构,防火墙;ipvs是hash表,高性能复杂均衡;
2、kubelet:通过api-service上报node节点信息,包括资源使用情况及资源对象运行情况,运行pod,cAdvisor;
3、api-server:提供rest接口,各个组件之间通信;
4、kube-controller-manager:执行各种控制器,通过api-server的watch接口实时监控node状态;
5、kube-scheduler:通过api-server的watch接口实现集群资源调度;
6、service:ClusterIP内部访问集群,kube-proxy转发请求;NodePort使用节点的ip,通过节点的ip port访问service;LoadBalancer外接公有云负载均衡器
7、headless service:不使用service的负载均衡功能,仅通过label selector将后端pod返回客户端
8、对外暴露服务:service的NodePort;service的LoadBalancer;ingress;pod端口映射到宿主机
9、准入控制:对k8s api的请求,先经过认证授权,再执行准入操作,最后对目标对象操作;
10、RBAC:基于角色的资源访问控制,可以通过api操作,角色绑定权限组,用户绑定角色;
11、CNI:通过插件管理容器的网络,容器的网络资源配置,ip地址的分配和管理
12、flannel:flannel通过etcd维护一张路由表,通过overlay network,将数据包由docker0到flannel0再到flannel0再到docker0传递到容器内;
6、创建资源对象的流程:kubectl提交配置信息到api-server,api-server通知controller-manager创建资源对象,controller-manager将配置信息存储在etcd数据库,scheduler检测到新增配置信息会进行预选,包括污点和容忍度、亲和性、label,再根据node节点资源使用情况进行评分,将配置信息发送到node节点,node节点kubelet根据配置信息运行对应的资源对象,再将运行情况返回给scheduler,scheduler通过api-server将信息存储在etcd数据库;
elasticsearch:
1、索引(数据库)-类型(数据表)-文档(行)-字段(列)
2、选举:node id小的成为master节点
3、脑裂:网络问题导致重新选举,导致同时存在两个master节点维护两套集群,通过单node数
4、分片与副本:多个分片分布式存储;多个副本冗余
kafka:
1、broker节点;leader处理请求;follwer同步数据;
2、zookeeper分布式数据一致性方案,broker注册;topic注册,消息分区与broker对应;producer与broker一一对应;offset
redis:
1、持久化:aof将操作记录以命令的形式记录到本地文件,缺点是性能消耗比较大;rdb内存快照,缺点定时导致时间差数据丢失,优点redis server重启快速加载恢复
2、集群:
nginx:
1、
prometheus:
1、
dns:
1、
迭代查询:
递归查询:
2、集群
mysql:
1、主从复制
jvm:
1、
进程gc状态:jstat -gcutil 4335 1000
内存快照:jstack
线程状况:jdump
7、应用运维安全、可用性建设:
1、安全:主机登录操作审计,iptables(安全组),ssh服务端口,其他服务端口,网络隔离;
2、可用性:架构方向,lvs、haproxy、clb、nginx、分布式微服务、主备机房、分布式数据库;监控告警值班;
8、运维的素质:
1、技术能力,学习能力,对业务系统的熟悉,相关技术栈,相关产品功能
2、严谨仔细有原则,操作线上系统,规范流程,审计,评估,方案
3、沟通协作能力,对问题处理能力,项目的把控能力