centos7使用二进制部署TLS加密etcd集群

etcd支持通过TLS协议的加密通讯,在实际企业生产环境中,出于安全规范要求,建议开启TLS加密。TLS通道可以用于加密内部的集群通讯,也可以用于加密客户端请求。etcd的TLS有两对,一对是etcd和client端的TLS配置。一对是etcd之间的peer的TLS配置。有很多方式可以创建CA证书和私钥,其中比较流行的有两种opensslcfssl我们目前规划集群信息如下:192.168.1.76 etcd1192.168.1.77 etcd2192.168.1.79 etcd3官方文档推荐使用cfssl生成证书...

阅读全文

etcd集群异常节点重新加入集群

我们在使用etcd集群时会遇到某个节点异常无法启动,或者数据损坏的时候,这种情况需要将这个异常节点在etcd集群中剔除并重新加入该集群,具体操作如下。首先我们先去etcd集群找到这个异常节点并删除,假设我的异常节点为etcd3,ip地址为192.168.1.79etcdctl member list -w table#如果使用了tls加密集群需要增加证书相关参数#etcdctl --cacert="/etc/kubernetes/pki/etcd/ca.crt" --...

阅读全文

centos7二进制部署etcd集群

一般在生产环境下单机的etcd不满足高可用的需求,所以我们需要部署高可用的etcd集群,确保集群节点数N*2+1,etcd的raft协议可以保障各个节点数据的一致性。我们目前规划集群信息如下:192.168.1.76 etcd1192.168.1.77 etcd2192.168.1.79 etcd3然后就开始部署,部署方式基本和单机一致,主要是配置文件需要增加一些配置,配置启动可以查看笔记:https://sulao.cn/post/965.html在每个节点操作wget https://github.co...

阅读全文

centos7备份和恢复单机etcd数据

前面一篇我们已经学习了etcd的单机部署,具体可以查看这个笔记https://sulao.cn/post/965.html,这篇我们介绍下etcd数据备份与恢复,我们尝试先创建几条数据,备份,然后删除创建的数据,然后再恢复备份,查询这条被删除的数据。我们先简单创建条数据etcdctl put testdata "etcd test"OKetcdctl get testdatatestdataetcd test然后我们备份数据ETCDCTL_API=3...

阅读全文

centos7二进制部署单机etcd

etcd是云原生架构中重要的基础组件,由CNCF孵化托管。etcd在微服务和Kubernates集群中不仅可以作为服务注册与发现,还可以作为key-value存储的中间件。今天我们来记录下etcd的安装部署过程首先我们下载etcd包wget https://github.com/etcd-io/etcd/releases/download/v3.5.0/etcd-v3.5.0-linux-amd64.tar.gztar -zxf etcd-v3.5.0-linux-amd64.tar.gzmv&nbs...

阅读全文

centos7安装GUI图形界面

centos安装GUI图形界面主要是安装GnomeGUI包,可以通过yum方式进行直接安装,命令如下yum -y groupinstall "Server with GUI"上述安装完成以后重启操作系统reboot重启以后还是会进入终端的节点,需要手工启动GUI界面startx上述命令执行完成以后发现就直接进入了GUI图形界面如果需要切换回终端页面,需要进入Applications->SystemTools,然后打开Terminal,输入命令进行切换init 3上述...

阅读全文

mysql更改数据库引擎的方法

目前我的博客使用的mysqlmyisam引擎,因为需要事务的支持,所以需要将数据库引擎更换到innodb,目前mysql5.5开始支持innodb引擎,mysql5.6开始默认的引擎就是innodb,我使用的mysql5.7,所以直接更改我所用的库的引擎即可。我们首先登录数据查看下我所用的库的引擎状态mysql -u root -p #回车输入密码登录use sulao;show table status;可以看到目前所有表都是使用的myisam引擎,如果需要更换引擎可以直接...

阅读全文

容器内执行nvidia-smi报错提示Failed to initialize NVML

使用GPU的容器运行了一个训练任务,一段时间以后查看训练任务失败,进POD容器内执行nvidia-smi返回"FailedtoinitializeNVML:UnknownError"。目前该问题是一个已知问题,是由于在docker环境中daemon.json文件中配置了"exec-opts": ["native.cgroupdriver=systemd"]同时通过systemctldaemon-reload等命令守护进程重载命令,导致容器化的GPU工作负载可能会突然失去对G...

阅读全文

k8s使用nfs报错selfLink was empty, can't make reference

我们重新部署了k8s环境,centos7环境下使用的k8s1.27.0这个版本,今天在部署k8s上使用storageclass资源资源部署nfs使用时,POD挂载nfs资源报错提示“unexpectederrorgettingclaimreference:selfLinkwasempty,can'tmakereference”出现上述这个问题是因为在k8s1.21之后的版本移除了selfLink机制,kube-apiserver的解决方法是作为–feature-gates=RemoveSelfLink=false参数传递,这种...

阅读全文

centos7使用haproxy部署k8s高可用集群

之前我们部署k8s多master高可用集群中使用的代理均衡器是nginx,这次我们使用haproxy来做负载均衡器,之前的笔记也会用到,可以查看之前的笔记:https://sulao.cn/post/953.html直接从之前笔记中的安装nginx处开始,由于此处是使用haproxy替代原来的nginx,所以我们直接安装haproxy,本次笔记和上述笔记基本一致,只有nginx/haproxy和keepalived处略有不同yum install haproxy -y安装完成以后我们现手工添加VIPip addr&...

阅读全文