11 2021 档案
摘要:k8s-自带监控metrics-server 1. k8s-自带监控metrics-server 查看资源集群状态 查看master组件状态: kubectl get cs 查看node状态: kubectl get node 查看Apiserver代理的URL: kubectl cluster-i
阅读全文
摘要:k8s-containerd与docker命令使用对比 1. K8s-containerd与docker命令使用对比 containerd提供了ctrl命令行工具管理容器,但功能比较简单,所以一般会用crictl工具检查和调试容器 项目地址:https://github.com/kubernetes
阅读全文
摘要:k8s-切换容器引擎containerd 1.k8s-切换容器引擎containerd 1、配置先前条件 [root@k8s-node02 ~]# cat <<EOF | sudo tee /etc/modules-load.d/containerd.conf > overlay > br_netf
阅读全文
摘要:1、在gitlab创建jenkins需要使用的token 点击access tokens 创建tokens 然后输入name名字为jenkins,选择api,点击Create personal access token生成token码 获取token ednKp1QNRLg1u4iNBJy6 #把生
阅读全文
摘要:1、jenkins安装sonarqube的插件 进入jenkins,进入系统管理 进入系统管理后,点击插件管理 进入Available,进入可选插件管理 选择filter,进行sonar插件搜索,安装插件 直接安装 2、然后重新登陆 点击系统管理进入 点击系统设置,进入 进入后,配置sonarqub
阅读全文
摘要:1、参考官方文档地址:https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner 2、进行scanner的安装 [root@jenkins ~]# cd /usr/local/src [root@jenkins s
阅读全文
摘要:k8s-prometheus展示数据对象 1. k8s-prometheus+grafana展示 编写grafana展示的配置文件 [root@k8s-master prometheus]# cat grafana.yaml apiVersion: apps/v1 kind: Deployment
阅读全文
摘要:k8s-prometheus平台部署相关组件 1. K8s-prometheus平台部署相关组件 prometheus-deployment.yaml #部署Prometheus **prometheus-configmap.yaml ** #Prometheus配置文件,主要配置Kubernete
阅读全文
摘要:k8s-prometheus介绍 1. k8s-prometheus介绍 Prometheus(普罗米修斯)是一个最初在SoundCloud上构建的监控系统。自2012年成为社区开源项目,拥有非常活跃的开发人员和用户社区。为强调开源及独立维护,Prometheus于2016年加入云原生云计算基金会(
阅读全文
摘要:k8s-prometheus监控指标 1. k8s-prometheus监控指标 Kubernetes本身监控 Node资源利用率 Node数量 每个Node运行Pod数量 资源对象状态 Pod监控 Pod总数量及每个控制器预期数量 Pod状态 容器资源利用率:CPU、内存、网络 监控实现思路 监控
阅读全文
摘要:k8s-fluentbit收集所有容器标准输出的日志 1. fluentbit收集所有容器标准输出的日志 编写fluentbit日志收集yaml配置文件 # fluentbit的配置文件 apiVersion: v1 kind: ConfigMap metadata: name: fluent-bi
阅读全文
摘要:k8s-filebeat收集容器中的日志文件 1. K8s-收集容器中的日志文件 收集容器文件图解 针对容器中日志文件:在Pod中增加一个容器运行日志采集器,使用emtyDir共享日志目录让日志采集器读取到日志文件 示例代码 [root@k8s-master elk]# vi app-log-log
阅读全文
摘要:k8s-filebeat收集所有容器标准输出的日志 1. k8s-收集所有容器标准输出的日志 filebeat-kubernetes.yaml # 采集所有容器标准输出 app-log-stdout.yaml # 标准输出测试应用 app-log-logfile.yaml # 日志文件测试应用 1.
阅读全文
摘要:k8s-部署elk日志系统 1. k8s-部署elk日志系统 安装JDK [root@linux-node1 ~]# rpm -ivh https://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm [root@linux-node1
阅读全文
摘要:k8s-日志按体现分类与采集思路 1. k8s-日志按体现分类与采集思路 创建nginx服务为示例 [root@k8s-master ~]# kubectl run nginx --image=nginx pod/nginx created [root@k8s-master ~]# kubectl
阅读全文
摘要:1. 收集那些日志 k8s系统的组件日志 k8s cluster里面部署的应用程序日志 标准输出 日志文件 2. elk stack日志收集方案 架构图 ELK 是三个开源软件的缩写,提供一套完整的企业级日志平台解决方案。 分别是: Elasticsearch:搜索、分析和存储数据 Logstash
阅读全文
摘要:1. 增加公网负载均衡器 编写nginx配置 upstream java-demo { server 10.100.24.83:8080; #这个是ingress-controller的地址 server 10.100.24.84:8080; } server { listen 80; server
阅读全文
摘要:1. 集群外部访问部署的应用 编写service服务 [root@k8s-master java-demo]# vim java_demo_service.yaml [root@k8s-master java-demo]# cat java_demo_service.yaml apiVersion:
阅读全文
摘要:1. 编写配置文件yaml 编写configmap配置文件 [root@k8s-master java-demo]# vim configmap.yaml [root@k8s-master java-demo]# cat configmap.yaml apiVersion: v1 kind: Con
阅读全文
摘要:1. 使用控制器部署镜像 2. 案例 2.1 将镜像仓库认证凭据保存在k8s secret 中 [root@k8s-master ~]# kubectl create secret docker-registry harbor-auth --docker-username=admin --docke
阅读全文
摘要:1.制作镜像流程 2. 部署案例 2.1 导入数据库 创建数据库和账号密码 mysql> create database if not exists java_demo default charset utf8 ; # 创建数据库,默认utf8 Query OK, 1 row affected (0
阅读全文
摘要:1. 容器交付流程 2. 在k8s平台部署项目流程
阅读全文
摘要:1. k8s-ingress小结 ingress contronler怎么工作的 ingress controller通过与kubernetes api交互,动态的去感知集群中ingress规则变化,然后读取它,按照自定义的规则,规则就写明了那个域名对应那个service,生成一段nginx配置,应
阅读全文
摘要:1. ingress Controller高可用方案 一般ingress Controller会以Daemonset+nodeSelector部署到几台特定node,然后将这几台挂载到公网负载均衡器对外提供服务。 2. 案例部署多个ingress Controller 2.1 查询nginx-ing
阅读全文
摘要:1. 配置示例 配置HTTPS步骤 准备域名证书文件(来自:openssl/cfssl工具自签或者权威机构颁发) 将证书文件保存到Secret kubectl create secret tls www.scajy.cn --cert=www.scajy.cn.pem --key=www.scajy
阅读全文
摘要:1.ingress对外暴露网站 创建 kubectl apply -f web-ingress.yaml 查看 kubectl get ingress 测试:本地电脑绑定hosts记录对应ingress里面配置的域名 例如:<Ingress Controller Pod所在Node IP> foo.
阅读全文
摘要:1. k8s-ingress controller参考 ingress controller有很多实现,我们这里采用官方维护的nginx控制器 部署地址:https://github.com/kubernetes/ingress-nginx 部署文件地址:https://raw.githubuser
阅读全文
摘要:1. k8s-ingrss是什么 NodePort存在的不足: 一个端口只能在一个服务使用,端口需要提前规划 只支持4层负责均衡 Ingress: ingress公开了从集群外部到集群内部服务的http和https路由的规则集合,而具体实现流量路由则是由ingress controller负责 **
阅读全文
摘要:1. iptables与IPVS对比 Iptables: 灵活,功能强大 规则遍历匹配和更新,呈线性时延 IPVS: 工作在内核态,有更好的性能 调度算法丰富:rr,wrr,lc,wlc,ip hash... 生产环境推荐使用IPVS
阅读全文
摘要:1. CoreDNS名称解析 **CoreDNS:**是一个DNS服务器,Kubernetes默认采用,以Pod部署在集群中,CoreDNS服务监视Kubernetes API,为每一个Service创建DNS记录用于域名解析。 **CoreDNS YAML文件:**https://github.c
阅读全文
摘要:1. k8s-service代理模式 iptables和ipvs工作流程图 k8s-service工作流程图 2. k8s-service代理模式IPVS IPVS: 有两种启动模式 kubeadm方式修改ipvs模式: # kubectl edit configmap kube-proxy -n
阅读全文
摘要:1. k8s-service代理模式
阅读全文
摘要:1. NodePort:对外暴露应用(集群外) NodePort:在每个节点上启用一个端口来暴露服务,可以在集群 外部访问。也会分配一个稳定内部集群IP地址。 访问地址:<任意NodeIP>: 端口范围:30000-32767 示例代码: apiVersion: v1 kind: Service m
阅读全文
摘要:1. k8s-service三种常用类型 ClusterIP:集群内部使用 NodePort:对外暴露应用(集群外) LoadBalancer:对外暴露应用,适用公有云 1.1 ClusterIP:集群内部使用 **ClusterIP:**默认,分配一个稳定的IP地址,即VIP,只能在集群内部访问。
阅读全文
摘要:1. k8s-pod与service的关系 Service通过标签关联一组Pod Service使用iptables或者ipvs为一组Pod提供负载均衡能力 示例图:
阅读全文
摘要:1. k8s-service定义与创建 创建service: kubectl apply -f service.yaml 查看service: kubectl get service 示例代码 apiVersion: v1 kind: Service metadata: labels: app: w
阅读全文
摘要:1. k8s-service存在的意义 Service引入主要是解决Pod的动态变化,提供统一访问入口: 防止Pod失联,准备找到提供同一个服务的Pod(服务发现) 定义一组Pod的访问策略(负载均衡) 示意图:
阅读全文
摘要:1. job控制器-执行一次性任务 Job分为普通任务(Job)和定时任务(CronJob) 一次性执行 应用场景:离线数据处理,视频解码等业务 示例代码: [root@k8s-master deployment]# vim job.yaml [root@k8s-master deployment]
阅读全文
摘要:1. Cronjob定时任务 CronJob用于实现定时任务,像Linux的Crontab一样。 定时任务 应用场景:通知,备份 示例代码 [root@k8s-master deployment]# vim cronjob.yaml [root@k8s-master deployment]# cat
阅读全文
摘要:1. k8s-Daemonset功能 DaemonSet功能: 在每一个Node上运行一个Pod 新加入的Node也同样会自动运行一个Pod 应用场景:网络插件(kube-proxy、calico)、其他Agent 示图: 示例代码: [root@k8s-master deployment]# vi
阅读全文
摘要:1. deployment控制器replicaset ReplicaSet控制器用途: Pod副本数量管理,不断对比当前Pod数量与期望Pod数量 Deployment每次发布都会创建一个RS作为记录,用于实现回滚 示例图 操作命令 kubectl get rs #查看RS记录 kubectl ro
阅读全文
摘要:1. deployment删除 删除pod kubectl delete deploy/web 删除service服务 kubectl delete service/web 项目就下线了
阅读全文