- 博客(90)
- 资源 (9)
- 收藏
- 关注
原创 Gitlab全量迁移
背景公司研发使用的Gitlab由于服务器下架需要迁移到新的Gitlab服务器上。Gitlab官方推荐了先备份然后再恢复的方法。个人觉得这个方案不是很友好,故采用官方的另外一种方法,百度后发现这个方法还没有人记录,就写这篇文章给需要的小伙伴参考。源Gitlab: http://old.mygitlab.com #地址需更换为自己的gitlab地址目标Gitlab: http://new.mygitlab.com前提条件1. Linux主机一台并安装Docker2. 服务器磁盘需要能够存
2022-03-12 22:54:28
4652
12
原创 手把手教你部署KubeFederation
背景Kubernetes的集群联邦目前还处于beta阶段,为了体验联邦的功能,故搭建了一下。本篇文章将整个过程记录一下,以便于需要的小伙伴可以参考总结先把对于使用联邦的个人体验总结如下(以下观点仅代表个人,如有不对,请指正)1. 联邦必须依托一套主的K8S集群,无法将联邦的控制平面独立出来2. 联邦参加实质上可以理解为数据库的主从同步,在V2版本中支持同步的类型有()3. 联邦可以实现集群级别的负载调度(通过RSP),其实类似于单个集群的HPA,只是RSP监测的指标是副本数4.
2022-01-28 15:43:31
4439
原创 Kubernetes向APIServer证书中添加更多的域名或者IP
背景通过kubeadm部署完成以后,忘记把公网的域名和ip地址放入到apiserver的证书里面了。通过以下的步骤可以重新更新一下apiserver证书里面的地址。步骤1. 备份现有的Cluster配置文件kubectl -n kube-system get configmap kubeadm-config -o jsonpath='{.data.ClusterConfiguration}' > kubeadm.yaml2. 在yaml以下的段添加公网ip和域名apiSer
2022-01-27 15:36:17
6090
原创 部署式文件系统Ozone对接Ranger KMS 实现TDE
前言公司隐私计算的项目准备使用K8S来运行计算的任务和工作调度,隐私计算的源数据放到分布式文件系统中,通过对接Ranger KMS实现透明数据加密(Transparent Data Encryption,缩写TDE). 前面一篇文章(https://blog.youkuaiyun.com/lwlfox/article/details/121068645)已经实现了未开启TDE模式,这篇文章将介绍如何从非TDE模式切换到带TDE模式并与K8S 对接。必读https://blog.youkuaiyun.com/lwlfox
2021-10-31 22:32:42
1612
原创 K8S对接分布式文件系统Ozone(基于HDFS的文件系统)
前言K8S通过标准的CSI实现容器的持久化,目前很多的存储都有现成的CSI,如NFS,GFS,CEPH等。但是HDFS目前为止没有官方的CSI实现,Apache基于HDFS封装的新的分布式文件系统Ozone可以有HDFS文件系统的属性,同时提供了官方CSI。项目需要,故进行了对接尝试,并且实现了透明加解密(TDE)的模式。中间也遇到了一些问题,分享给大家。集群说明整个集群的资源使用私有云上的资源,故拥有两个IP地址(公有云也是一样),内部IP在同一个VPC内可以通讯,弹性IP实现整个私有云通讯
2021-10-31 20:27:09
2799
2
原创 手把手教你搭建Kafka(带SASL认证)+ELK集群 - 五 Kibana+Filebeat安装
接上一篇手把手教你搭建Kafka(带SASL认证)+ELK集群 - 四https://blog.youkuaiyun.com/lwlfox/article/details/119803107部署Kibana创建kibana账号 useradd kibana 将kibana-7.14.0-linux-x86_64.tar.gz 文件上传到服务器并解压到/data目录 tar -zxvf kibana-7.14.0-linux-x86_64.tar.gz -C /data/ chown
2021-08-19 15:51:53
992
原创 手把手教你搭建Kafka(带SASL认证)+ELK集群 - 四 Logstash集群安装
接上一篇手把手教你搭建Kafka(带SASL认证)+ELK集群 - 三https://blog.youkuaiyun.com/lwlfox/article/details/119802258部署Logstash以下步骤需要在所有的Logstash节点上执行创建logstash用户 useradd logstash 将logstash-7.14.0-linux-x86_64.tar.gz文件上传到服务器并解压到/data目录 tar -zxvf logstash-7.14.0-li
2021-08-19 15:32:51
1701
原创 手把手教你搭建Kafka(带SASL认证)+ELK集群 - 三 Kafka集群安装
接上一篇手把手教你搭建Kafka(带SASL认证)+ELK集群 - 二https://blog.youkuaiyun.com/lwlfox/article/details/119801897部署Kafka创建kafka 用户 useradd kafka 将kafka_2.13-2.8.0.tgz 文件上传到服务器并解压到/data目录中 tar -zxvf kafka_2.13-2.8.0.tgz -C /data/ && chown -R kafka:kafka /da
2021-08-19 15:22:38
1100
原创 手把手教你搭建Kafka(带SASL认证)+ELK集群 - 二 Zookeeper安装
接上一篇https://blog.youkuaiyun.com/lwlfox/article/details/119800448部署Zookeeper以下步骤在Zookeeper集群的节点上执行创建zookeeper账号 useradd zookeeper 将tar.gz文件apache-zookeeper-3.6.3-bin.tar.gz下载到服务器并解压到/data目录 tar -zxvf apache-zookeeper-3.6.3-bin.tar.gz -C /data/
2021-08-19 14:57:41
750
原创 手把手教你搭建Kafka(带SASL认证)+ELK集群 - Elasticsearch集群安装
简介日志系统是每个公司都会使用的一套系统,小编在参考官方和网络上的资源后,手把手教你搭建一套具备生产环境使用的日志集群。部署架构整体日志系统以ELK Stack为基础,整合Kafka作为缓存层,即可以对爆发的日志量进行削峰,也可以保护后端的日志集群。整套架构包含Beats,Logstash,ElasticSearch,Kibana,Kafka,Kafka-Eagle(管理kafka集群的可视化工具)架构图如下:文件准备Zookeeper Logstash Filebeat.
2021-08-19 14:24:59
1065
原创 KubEdge离线部署
简介为了满足公司业务需求,需要使用云边协同技术架构,采用KubeEdge+Kubernetes的方式,Kubernetes的部署,参考https://blog.youkuaiyun.com/lwlfox/article/details/119574181版本Kubernetes : 1.18.18KubeEdge: 1.7.1资源配置角色 节点EIP 节点内部IP 配置 用户名 密码 操作系统 云端K8S-Master 10.228.
2021-08-10 17:25:26
864
原创 K8S集群搭建-Ansible 离线模式
简介由于卫生专网封闭性,对于集群的搭建离线模式是比较好的一种方式。本篇文章介绍如果使用离线模式搭建K8S集群集群规划角色 节点EIP 节点内部IP 配置 用户名 密码 操作系统 云端K8S-Master 10.228.82.9 10.10.0.160 4C16G 40G系统盘200G数据盘 root ***** CentOS7.6 云端K8S-Worker-1 10.228.82.232
2021-08-10 17:04:50
585
原创 单机安装OpenTSDB 2.3.2
简介由于监控项目需求,金山云会将云平台的监控数据以api的形式推送到opentsdb中,为了查看金山云推送过来的数据格式和数据量,部署单节点opentsdb步骤概览1.安装系统依赖2.部署java(版本1.8.0.1443.部署zookeeper(版本:3.6.3)3.部署hbase(版本: 2.3.5)4.部署opentsdb(版本:2.3.2)系统配置主机: 8C32G 200G数据盘系统: CentOS 7.6IP: 10.50.0.80 EIP:1...
2021-07-15 11:10:20
338
原创 WindowsCMD配置代理
问题:本地开了梯子代理,浏览器可以正常访问,但是cmd里面gitclone的时候老是超时解决方法:cmd配置代理1.先查看代理的配置信息2.使用超级管理打开"CMD"# 使用 http 类型代理set http_proxy=http://127.0.0.1:4780set https_proxy=http://127.0.0.1:47803.验证代理是否生效,如果返回的地址是国外的,就代表已经成功了。这个时候再git clone就很快了...
2021-06-16 11:12:36
3131
原创 现有K8S集群中添加GPU节点
背景产线有一套用RKE搭建的K8S集群,由于业务需要,需要通过GPU来运行一些业务,所以需要集群中添加GPU节点现有环境RKE:Running RKE version: v1.1.2Kubernetes: 1.17 - Master节点: 3个 - Worker节点: 6个(全部为CPU节点)新节点信息操作系统: CentOS 7.6GPU卡数: 1张 (已安装驱动版本: 440.95.01)IP: 10.5.0.112步骤1.初始化配置新节点...
2021-05-19 16:53:13
2498
7
原创 Nginx配置文件下载
简介业务需要将服务器上的某一个目录下的文件提供http的下载准备操作系统: Ubuntu 18.04步骤1.安装nginxapt install nginx2.配置nginx文件地址: /etc/nginx/sites-available/defaultserver { listen 80 default_server; listen [::]:80 default_server; root /var/www/html; index index.h..
2021-05-19 14:08:50
1054
转载 Ubuntu 18.04安装远程桌面
安装桌面环境通常, Linux 服务器没有安装桌面环境。我们的第一步是安装 X11 和一个轻量级桌面环境,它将充当 Xrdp 的后端。Ubuntu 存储库中有几个桌面环境 (DE) 。我们将安装 Xfce 。它是一个快速,稳定和轻量级的桌面环境,非常适合在远程服务器上使用。以具有 sudo 权限的用户身份键入以下命令,以在服务器上安装 Xfce :sudo apt updatesudo apt install xfce4 xfce4-goodies xorg dbus-x11 x11-x
2021-04-14 16:10:42
724
原创 自定义prometheus-operator中容器的参数
简介prometheus-opertator 方便了我们在Kubernetes里面部署prometheus集群,但是有一些底层的配置也被掩盖了。我遇到的问题就是配置文件的实时生效,要等3分钟才可以。于是去翻了一下CRD的定义,看到prometheus-operator提供了它使用容器的自定义参数配置。环境prometheus-operator - 版本 v0.45.0场景创建一个Probe的监控,要等2-3分钟才可以生效,需要让配置生效快一点kubectl apply -f pr.
2021-02-04 17:39:18
2022
3
原创 手把手教你搭建K3S产线集群
简介K3S是Kubernetes(K8S)的精简版,官方说是去除了一些云厂商相关的东西。反正在国内也使用不了有的云厂商。部署也比K8S简单了许多。我自己使用了一段时间,感觉还不错。如果你想部署私有化的K8S集群,不妨尝试一下K3S。接下来一步一步教你部署。环境准备...
2021-02-01 10:48:01
3634
2
原创 使用 traefik ingress暴露kubernetes-dashbord - HTTPS版本
简介Rancher 的K3S默认安装的时候会安装traefik做为整个集群的默认Ingress.kubernetes-dashboard的官方指导文档都是使用kube proxy的方法来访问,感觉不是很方便。于是就想通过ingress的方式来访问,中间遇到了一些问题,最终整理出来,以防大家也遇到我这样的问题。环境需求1. Rancher K3S (我使用的是v1.20.2+k3s1 ) ,默认安装traefik ingress2. SSL证书 一份实现步骤部署kubernet..
2021-01-29 20:45:25
1682
原创 使用node_exporter采集GPU指标
简介node_exporter这个开源组件是配合prometheus收集主机操作系统层的metrics的常用组件,但是官方没有提供GPU卡的metrics的采集。公司由于业务需要采集GPU服务器的GPU使用情况,于是基于官方的版本把这个GPU的采集功能添加上.git 仓库地址:https://gitee.com/kevinliu_CQ/node_exporter.git实现简述node_exporter扩展自定义监控指标是在collector这个目录,所以在这个项目中添加gpu_commo.
2021-01-27 16:32:34
3970
5
原创 docker使用-p参数映射端口失败
现象使用docker -p 参数将容器的端口映射到宿主机上。如:docker run -d -p 30080:80 nginx:latest可以看到宿主机上的端口已经映射完成了,也启动了。root@workstation:~# netstat -tulpn|grep 30080tcp6 0 0 :::30080 :::* LISTEN 31189/docker-proxy 但是通过.
2020-12-30 11:53:39
3994
原创 K8S使用NFS动态创建PVC
简介K8S中容器的数据的持久化对于有状态的应用是很重要的,考虑到横向扩展,所以一般都会使用网络存储来作为持久化的介质。NFS(有的叫NAS)就是经常使用的一种。本文介绍两种使用NFS作为后端存储,动态创建PVC的方法。两种方法我在产线环境都验证过。第一种: nfs-client-provisioner (较老)第二种: csi-nfs-driver (较新)准备Kubernetes : 1.17.6实施nfs-client-provisioner1. 部...
2020-12-01 19:51:32
4882
原创 CentOS安装远程桌面(XRDP)
背景现在大部分服务端应用都是运行在Linux上的,所以使用Linux操作系统来开发应用会方便很多(用Mac的用户请自动跳过).准环境主机:一台操作系统: CentOS 7.6安装步骤安装软件并启动yum groupinstall "X Window System" -yyum groupinstall -y "GNOME Desktop" -yyum install -y epel-releaseyum install -y xrdpsystemctl enable x.
2020-11-25 10:49:03
14475
原创 基于阿里云ElasticWorkload的无限动态扩容
背景介绍首先声明,不是在给阿里云做广告。不过在中国,如果你想上云,还是选择阿里云吧,不要问我为什么,说多了都是泪。产线运行着一款及时聊天信息APP的后端服务,后端使用SpringBoot框架编写,部署在阿里云的K8S集群中。APP的活跃用户数每天都有明显的波峰和波谷的情况,所以在波峰的时候需要更多的容器副本来支撑业务,如果通过增加K8S集群节点的方式来扩容容器,在波谷的时候其实是资源浪费的。通过结合阿里云的ECI+ElasticWorkload可以很好的解决这个问题。如果对文档有任何的.
2020-11-23 18:48:40
455
原创 记一次nfs storageclass引起的产线故障
背景介绍公司新上的一套系统,系统全部容器化,采用Spring Boot开发,部署在自建的K8S里面。使用nfs作为后端的storageclass,结合PVC动态创建PV,做数据持久化。早上上班就收到用户反应,页面打不开了。(项目才上线没有多久,主动监控还没有完善)。直接查看容器,发如下错误:Events: Type Reason Age From Message ---- -----
2020-09-16 16:31:19
1974
原创 traefik-ingress 实现http自动跳转https
简介Kubernetes目前ingress主流的就是nginx-ingress和traefik-ingress.nginx-ingress中实现http转https加一个注解就可以了,很简单。但是traefik-ingress好像稍微要复杂一点。现就将整个过程整理成文。条件1. Kubernetes集群2.集群已经安装traefik-ingress插件步骤1.部署nginx应用和服务#kubectl apply -f nginx.yamlapiVersion: apps..
2020-08-19 15:24:20
3391
原创 Mysql 5.7 高可用 MHA+阿里云SLB 实现故障秒级恢复
简介Mysql的主从结构是目前产线使用的主要架构,配合MHA可以实现故障秒级切换,但是对于应用来说,主节点的地址换了以后,应用就连接不上了。通过使用SLB可以有效的解决这个问题,数据库主从切换,应用可以很快速的连接上新的主库。架构图如下实现思路: 当主数据挂了以后,MHA侦测到以后,调用脚本,将SLB的后端地址更改为从数据库环境准备MHAManager:172.16.3.121 CentOS 7.4Mysql Master:172.16.3.122 CentOS 7.4...
2020-07-10 17:37:37
1303
原创 Windows下更换IP地址BAT
简介公司使用固定配置IP,家里使用动态IP,经常需要换来换去,使用以下脚本自动更换设置静态IP.batset ADDR=10.135.26.20set MASK=255.255.240.0set GATEWAY=10.135.26.1set DNS1=10.128.142.149set DNS2=61.128.128.68set NAME="Ethernet"netsh interface ipv4 set address %NAME% static %ADDR% %MASK% %
2020-07-09 12:13:17
1136
原创 CentOS 6.8下安装glibc-2.17
简介mysql使用压缩包在CentOS 6.8的系统上安装是会出现,glibc-2.17 not found的错误,需要安装新版本的glibc步骤如下wget https://ftp.gnu.org/gnu/glibc/glibc-2.17.tar.gztar -zxvf glibc-2.17.tar.gz cd glibc-2.17mkdir -p buildcd build/../configure --prefix=/usr --disable-profile --enabl.
2020-06-24 18:00:24
2076
8
原创 使用CAS整合LDAP实现单点登录(SSO)-从0到1-基于Django实现SSO
上一篇:部署cas-managementhttps://blog.youkuaiyun.com/lwlfox/article/details/106865629简介CAS服务端已经部署好,现在就是要基于CAS来做SSO的实现了。CAS的客户端每个语言都有,我使用的是python里面的django-cas-ng来完成,因为这个组件已经封装好了客户端的实现,比较简单,主要是为了展示实现的流程。对于不熟悉django框架的同学,可以一步一步照着做,熟悉这个框架的同学看重点配置步骤就好了。步骤1.在p...
2020-06-20 09:06:30
1089
原创 使用CAS整合LDAP实现单点登录(SSO)-从0到1-搭建cas-management
接上一篇:https://blog.youkuaiyun.com/lwlfox/article/details/1068655351.配置cas-management,将下面的内容存入/etc/cas/config/management.properties (文件路径必须是这个,SpringBoot可命令行指定配置,有兴趣的同学可以自行研究),配置方式和cas-server类似,应该说和SpringBoot类似server.port=8443 #服务运行端口号server.contextPath=/c..
2020-06-19 23:52:17
2348
原创 使用CAS整合LDAP实现单点登录(SSO)-从0到1-搭建CAS服务器
接着上一篇文章 :https://blog.youkuaiyun.com/lwlfox/article/details/1068381541.配置cas-server,将下面的配置内容放入/etc/cas/config/cas.properties文件中(一定要是这个路径,SpringBoot也支持命令行指定配置文件,有兴趣的同学可以研究)cas.server.name=https://mycas.yourdomain.cn:7998 #使用你的域名地址,这个端口号和下面的server.port保存一..
2020-06-19 23:35:37
8867
原创 使用CAS整合LDAP实现单点登录(SSO)-从0到1-准备工作
需要资源1.物理机或者虚拟机一台,使用Centos7.4操作系统2.JDK 1.83. CAS服务器和管理平台war包4.阿里云HTTPS证书5.Python开发工具(我使用的是Pycharm)6. MongoDB步骤上面需要的资源1,2大家就自行去解决,如果不会安装JDK请参考https://blog.youkuaiyun.com/u010590120/article/details/947368001.下载CAS服务器和管理平台war包,对于没有学过Java的...
2020-06-19 23:28:53
1305
原创 使用CAS整合LDAP实现单点登录(SSO)-从0到1-简介
简介如果你看到这个文章,我相信你已经知道什么是单点登录,或者已经有大概的了解。目前项目中需要实现单点登录,所以找了网上很多资料,但是发现都不是很成体系,于是就想写一篇基础,而且可以拿来就用的文章,把整个实现的过程都展现出来,当然我在实现的过程中也踩了很多坑,希望需要的同学不要再重复踩坑了。文章结构一、准备工作二、搭建CAS服务器和管理控制台三、在业务中使用CAS实现单点登录...
2020-06-18 16:39:04
1030
原创 django runserver 配置https(整理版+pycharm配置)
简介最近做基于CAS的SSO(单点登录) ,由于在CAS Server上配置的是https的服务地址,所以需要住django的运行使用https.搜索了网上资料,很多重复的复制、粘贴版本,结合搜索到的文章,整理了一下。步骤1.在django中安装以下组件,如果使用pycharm开发,可以把名字直接放在requirements.txt文件中,pycharm会自动提示安装。pip install django-extensionspip install django-werkzeug-.
2020-06-17 20:00:34
2489
1
连接PLC的SL4驱动
2009-04-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人