Jul142022
云原生时代Kubernetes Operator开发实战:从零开始构建自定义控制器管理复杂应用
云原生时代Kubernetes Operator开发实战:从零开始构建自定义控制器管理复杂应用
标签:Kubernetes, Operator, 云原生, 控制器, Go语言
简介:全面解析Kubernetes Operator模式的核心概念和开发实践,通过实际案例演示如何使用Go语言和Kubebuilder框架开发自定义控制器,实现复杂应用的自动化部署、升级和运维管理,助力企业拥抱云原生技术。
一、引言:为什么需要 Kubernetes Operato...阅读全文
作者:绝缘体.. | 分类:git, go, kubernetes, nginx, redis, 云计算, 开发工具, 数据库, 编程语言 | 阅读: | 标签:git, go, kubernetes, nginx, redis
抢沙发
Jul112022
Android Bottom Navigation底部导航栏使用
在Android应用中,底部导航栏是一种常用的UI元素,它可以让用户方便地切换不同的功能模块。近年来,Google推出了Material Design风格的BottomNavigation组件,为开发者提供了一种简洁美观且易于使用的底部导航栏解决方案。
1. 引入依赖库
要在Android项目中使用BottomNavigation组件,首先需要在项目的Gradle配置文件中添加相应的依赖库。在app模块的build.gradle文件中,添加以下代码:
...阅读全文
Jul052022
如何解决MongoDB中常见的Error: bad auth Authentication failed”错误
在使用MongoDB时,有时候会遇到一个常见的错误信息:“bad auth Authentication failed”。这个错误通常出现在应用程序尝试使用错误的凭据进行身份验证时,或者在要求身份验证的情况下提供了无效的凭据。本文将介绍如何解决这个错误,并提供一些有关MongoDB身份验证的其他相关信息。
错误信息
当MongoDB连接出现身份验证错误时,会返回类似于以下错误信息:
Error: bad auth Authentication...阅读全文
Jun302022
Linux系统环境变量 启动,登录执行文件的过程
在刚登录Linux时,首先启动 /etc/profile 文件,然后再启动用户目录下的 ~/.bash_profile、 ~/.bash_login或 ~/.profile文件中的其中一个,
执行的顺序为:~/.bash_profile > ~/.bash_login > ~/.profile。
如果 ~/.bash_profile文件存在的话,一般还会执行 ~/.bashrc文件。
因为在 ~/.bash_profile文件中一般会有下面的代码:
if [ -f ~/.bashrc ] ; then
../bashrc
f...阅读全文
Jun292022
elk 分析 squid access 日志
先配置 kibana 语言为中文
vim /opt/kibana/config/kibana.yml
修改配置
i18n.locale: “en”
改为
i18n.locale: “zh-CN”
下载安装 filebeat
cd /tmp/ && curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-8.1.0-amd64.deb && dpkg -i filebeat-8.1.0-amd64.deb
编辑
vim /etc/filebeat/filebeat.yml
大概 134行
o...阅读全文
Jun292022
elk 安装 metricbeat 监控服务器状态
metricbeat作用:
将 Metricbeat 部署到您所有的 Linux、Windows 和 Mac 主机,并将它连接到 Elasticsearch 就大功告成啦:您可以获取系统级的 CPU 使用率、内存、文件系统、磁盘 IO 和网络 IO 统计数据,以及获得如同系统上 top 命令类似的各个进程的统计数据(如何获取暂不清楚)。
Metricbeat 提供多种内部模块,用于从服务中收集指标,例如 Apache、NGINX、MongoDB、MySQL、PostgreSQ...阅读全文
Jun272022
js知识总结
js语言
变量:
通常就2件事:取值,赋值!
赋值:只有一种情况(模式): 变量 = 数据(值);
取值:形式大致有如下几种情形(以变量v1例)
var v2 = v1; //这就是取值——取得v1的值,并赋值给v2
alert( v1 ) //取得v1的值,并alert()出来
document.write( v1 ); //也可以这样:document.write( “文字。。。。” + v1 );
var v3 = v1 * 2...阅读全文
Jun222022
Vue 3 Composition API状态管理最佳实践:Pinia与Vuex 4的深度对比及选型指南
Vue 3 Composition API状态管理最佳实践:Pinia与Vuex 4的深度对比及选型指南
引言
随着Vue 3的发布,开发者们迎来了全新的Composition API,这一变革不仅改变了组件开发的方式,也对状态管理解决方案提出了新的要求。在Vue 3生态中,Pinia和Vuex 4成为了主流的状态管理工具,它们各自拥有独特的设计理念和实现方式。本文将深入分析这两种状态管理方案的核心特性、架构设计、API使用以及...阅读全文
Jun192022
DDD领域驱动设计在复杂业务系统中的架构实践:从领域建模到微服务拆分的完整实施路径
DDD领域驱动设计在复杂业务系统中的架构实践:从领域建模到微服务拆分的完整实施路径
引言
在当今快速发展的数字化时代,企业级应用系统日益复杂,传统的分层架构已经难以满足业务快速变化和扩展的需求。领域驱动设计(Domain-Driven Design,DDD)作为一种应对复杂业务系统的设计方法论,通过将业务领域知识与软件设计紧密结合,为构建高内聚、低耦合的系统架构提供了有效的解决方案。
...阅读全文
Jun162022
SSH隧道使用
方法1:plink
plink.exe -ssh root@ xx.xx.xx.xx(服务器ip) -pw "xxxx密码" -P 22 -N -L 3308(本地端口):127.0.0.1:3306(服务器服务端口)
plink.exe -ssh -i sshrsa.ppk am00n@192.168.81.137 -L 4444:192.168.81.137:4444
方法2:ssh (windows自带但是需要输入密码)
ssh -fCNg -L 3309:127.0.0.1:3306 root@服务器ip -p 22
用 netstat 检查结果
netstat -anpto ...阅读全文