本站用于记录日常工作内容,虚拟化云计算,系统运维,数据库DBA,网络与安全。
使用 Keepalived 和 HAproxy 创建高可用 Kubernetes 集群 高可用 Kubernetes 集群能够确保应用程序在运行时不会出现服务中断,这也是生产的需求之一。为此,有很多方法可供选择以实现高可用。 本教程演示了如何配置 Keepalived 和 HAproxy 使负载均衡、实现高可用。步骤如下: 准备主机。 配置 Keepalived 和 HAproxy。 使用 KubeKey 创建 Kubernetes 集群,并安装 KubeSphere。 集群架构 示例集群有三个主节点,三个工作节点,两个用于负载均衡的节点,以及一个虚拟 IP 地址。本示例中的虚拟 IP 地址也可称为“浮动 IP 地址”。这意味着在节点故障的情况下,该 IP 地址可在节点之间漂移,从而实现高可用。 请注意,在本示例中,Keepalived 和 HAproxy 没有安装在任何主节点上。但您也可以这样做,并同时实现高可用。然而,配置两个用于负载均衡的特定节点(您可以按需增加更多此类节点)会更加安全。这两个节点上只安装 Keepalived 和 HAproxy,以避免与任何 Kubernetes 组件和服务的潜在冲突。 准备主机 IP 地址 主机名 角色 172.16.0.2 lb1 Keepalived & HAproxy 172.16.0.3 ...
Docker 或k8s部署 NACOS开启登录 一,修改 Nacos 主目录 config/application.properties 文件 (1)启动登录认证功能 原本是 false 修改为 true。 ### If turn on auth system: nacos.core.auth.enabled=``true  (2)客户端和服务端交互时用于加密的密钥,可以防止认证过程中的信息泄露。 ### Since 1.4.1, worked when nacos.core.auth.enabled=true and nacos.core.auth.enable.userAgentAuthWhite=false. ### The two properties is the white list for auth and used by identity the request from other server. nacos.core.auth.server.identity.key=yourKey nacos.core.auth.server.identity.value=yourKey   注意:yourKey 就是秘钥,根据自己需求填写。(3)设置 Token 认证的密钥 ### The default token (Base64 String): nacos.core.auth.plugin.nacos.token.secret.key=VGhpc0lzTXlDdXN0b21TZWNyZXRLZXkwMTIzNDU2Nzg=  注意:这里设置的秘钥长度必须大于等于 32 字节,并且使用 Base64 加密,例如:VGhpc0lzTXlDdXN0b21TZWNyZXRLZXkwMTIzNDU2Nzg= 实际字符串为 ThisIsMyCustomSecretKey012345678(4)重启 N...
kubesphere Jenkins agent pod配置修改kubesphere的流水线使用的Pod模板配置内存比较大,可以通过修改ConfigMap内容来修改模板资源限制Jenkins 强大而灵活,已经成为 CI/CD 工作流的事实标准。但是,许多插件要求用户先设置系统级配置,然后才能使用。KubeSphere DevOps 系统提供基于 Jenkins 的容器化 CI/CD 功能。为了向用户提供可调度的 Jenkins 环境,KubeSphere 使用 Configuration as Code 进行 Jenkins 系统设置,这要求用户登录 Jenkins 仪表板并在修改配置后重新加载。Jenkins 系统设置在 KubeSphere 当前版本的控制台上不可用,即将发布的版本将支持该设置。本教程演示如何在 Jenkins 仪表板上设置 Jenkins 并重新加载配置。Jenkins Configuration as CodeKubeSphere 默认安装 Jenkins Configuration as Code 插件,您可以通过 YAML 文件定义 Jenkins 的期望状态,便于再现 Jenkins 的配置(包括插件配置)。您可以在该目录中查看具体的 Jenkins 配置和示例 YAML 文件。此外,您可以在 ks-jenkins 仓库中找到 formula.yaml 文件,查看插件版本并按需自定义这些版本。修改 ConfigMap建议您通过 Configuration as Code (CasC) 在 Kube...
华为云基于ServiceStage的微服务开发与部署的实验过程问题 一,无法拉取代码问题 1,在华为云作基于ServiceStage的微服务开发与部署的实验时,会出现git clone不了代码的问题。 2,主要原因是在cce中配置好k8s集群管理端后,再手动添加的3个节点,没法添加公网IP的,导致 git clone代码时, node节点主机无法连接外网,所以不能正常进行。 解决方法 :   新建三个EIP,或是NAT资源。然后再绑定到节点主机上,再次到 servicestage 中的持续交付--构建-- 点击 构建任务,即可正常运行。 二,使用新版本的cce集群,构建镜像失败问题 1,旧版cce集群使用的是docker,构建镜像时,需要填写 Dockerfile目录的路径。 2,如cce集群使用的是containerd时,构建镜像时,只能使用cd命令切换了目录,要根据具体情况填写./  。如果有多个模块需要构建镜像,那么只能每个模块,添加一个构建命令,用来切换目录,但是这个构建功能,有限制 命令功能数量限制,因此,要么使用docker节点,要么只能每个模块搞一个构建流程。 三,使用serviceStage时构建weathermap项目时,weathermapweb前台包无法使用源...
OpenEuler 22.03LTS重启后,docker丢失自定义网络,docker-compose报错: network not found 1.问题描述 如果你在华为OpenEuler 22.03LTS系统中 使用yum或者dnf安装docker,docker network create 创建的网络,然后重启宿主机,会发现之前的网络全都不见了 或者docker-compse创建一组容器,重启宿主机会发现docker-compose无法启动,报错找不到网络 如果只是想解决以上问题,不关心处理过程,请直接去看第三段 2.定位问题 整个处理过程我深感大局域网已死,查中文资料都得上科技去外网 翻遍baidu我也找不到解决办法,把docker-compose的报错贴出来,只有几个机翻外国网站的答案,比如让配置nat 翻遍官方gitee的issues,也只找到有人7个月前提出同样问题,然后被官方踢皮球。 无奈上科技去google搜索,顺利找到了欧拉官方文档关于这个问题的说明:《系统掉电影响》 整个说明很有意思,非常有中国一刀切的传统智慧,简单说就是:宿主机意外重启偶尔可能有问题,所以我们干脆每次重启都删除docker的数据,这样问题就可以稳定出现了(每次都丢失) 看了官方文档我内心都崩溃了,为了解决这个破系统里面...
 
0
Docker部署mysql ndbcluster8一,环境说明1,mysql ndbcluster8集群配置文件mysql-cluster.cnf内容:[ndbd default]NoOfReplicas=2DataMemory=80MIndexMemory=18M[ndb_mgmd]NodeId=1hostname=192.168.20.2datadir=/var/lib/mysql[ndbd]NodeId=2NodeGroup=1hostname=192.168.20.3datadir=/var/lib/mysql[ndbd]NodeId=3NodeGroup=1hostname=192.168.20.4datadir=/var/lib/mysql[ndbd]NodeId=4NodeGroup=2hostname=192.168.20.5datadir=/var/lib/mysql[ndbd]NodeId=5NodeGroup=2hostname=192.168.20.6datadir=/var/lib/mysql[mysqld]NodeId=6hostname=192.168.20.9[mysqld]NodeId=7hostname=192.168.20.102,mysql配置文件my.cnf内容:[mysqld]log_timestamps = SYSTEMmax_connections = 5000max_connect_errors = 10000ndbclusterndb-connectstring=192.168.20.2user=mysqldefault-storage-engine=NDBCLUSTER[mysql_cluster]ndb-connectstring=192.168.20.2二,docker部署命令。1,创建cluster网络docker network create cluster --subnet=192.168.20.0/242,创建mgmd与ndb,mysql相关节点docker run -d --net=cluster --name=management1 --ip=192.168.20.2 -e "TZ=Asia/Sh...
一,MySQL8 NDBCLuster 架构MySQL 8 NDB Cluster 是一个高可用性、可扩展性和实时性的分布式数据库系统,它基于 MySQL Server 和 NDB 存储引擎。NDB Cluster 采用共享磁盘存储和并行查询处理,可以在多个服务器节点上水平扩展数据和负载,提供高性能和高可用性。以下是 MySQL 8 NDB Cluster 的架构组成部分:1.数据节点(Data Nodes):数据节点是 NDB Cluster 的核心组件,负责存储和处理数据。数据节点使用 NDB 存储引擎,它是一个内存和磁盘混合存储引擎,将数据存储在内存中以提供快速的读写操作。每个数据节点都有自己的数据和索引,并参与并行查询处理。数据节点通过多播或 TCP/IP 网络互相通信,以保持数据的一致性和可用性。2.管理节点(Management Nodes):管理节点是负责整个集群的管理、配置和监控的组件。它们维护集群的拓扑结构、元数据信息和集群配置。管理节点提供了一个控制台界面(ndb_mgm)和管理 API,允许管理员进行集群管理操作,如启动和停止集群、添加或删除数据节点等。3.SQL 节点(SQL Nodes):SQL 节点是连接客户端和数据节点的桥梁,它们提供了标准的 MySQL Server 接口和 SQL 查询支持。SQL 节点收到客户端的查询请求后,将查询转发给相应的数...
 售前工程师关于客户OA系统上云详细解决方案PPT以下是AI工具生成内容:以下是关于客户OA系统上云详细解决方案的PPT,希望对您有所帮助:第一页:客户OA系统上云详细解决方案PPT第二页:目录背景优势需求分析解决方案迁移过程解决方案示例总结第三页:背景随着云计算技术的逐渐成熟,越来越多的企业选择将其OA系统迁移到云端。这不仅可以降低成本,还可以提高可用性、安全性和灵活性。本文将为您介绍关于客户OA系统上云的详细解决方案。第四页:优势1.成本节约:与传统的本地服务器相比,使用云计算服务可以大大降低成本。2.灵活性:云计算服务可以根据业务需求轻松扩展或缩小服务器资源。3.高可用性:云计算服务具有更强的容错能力和数据备份,从而保证业务的高可用性。4.安全性:云计算服务可以提供更强大的安全防护能力,并且可以快速响应安全漏洞,更加保障客户的数据安全。第五页:需求分析在上云之前需要进行需求分析,以确定客户OA系统的云计算需求。下面是一些需要考虑的要素:1.可伸缩性:客户OA系统需要和平台一样可以实现可伸缩性。2.性能:客户OA系统需要在云计算上具有足够的性能,以正常运行业务。3.可用性:云计算需要确保客户OA系统的高可用性。4.安全性...
通过靶场平台演练增强安全攻防意识点击打开链接下载相关课件
通过 docker-compose 快速部署 Hadoop 集群详细教程一、概述 docker-compose 项目是docker官方的开源项目, 负责实现对docker容器集群的快速编排,来轻松高效的管理容器,定义运行多个容器。 通过docker-compose来部署应用是非常简单和快捷的。但是因为docker-compose是管理单机的,所以一般通过docker-compose部署的应用用于测试、poc环境以及学习等非生产环境场景。生产环境如果需要使用容器化部署,建议还是使用K8s。 Hadoop集群部署还是稍微比较麻烦点的,针对小伙伴能够快速使用Hadoop集群,这里就使用docker-compose来部署Hadoop集群。 关于docker-compose介绍可以参考我以下几篇文章: Docker三剑客之Compose docker-compose 进阶篇 如果需要通过k8s来部署Hadoop环境,可以参考我之前的以下几篇文章: 【云原生】Hadoop on k8s 环境部署 【云原生】Hadoop HA on k8s 环境部署 Hadoop NameNode HA 架构: Hadoop YARN HA 架构: 二、安装 docker 和 docker-compose 1)安装 docker # 安装yum-config-manager配置工具 yum -y install yum-utils # 建议使用阿里云yum源:(推荐) #yum-config-manager --add-repo https://download.docker.com/l...
Centos7.9安装containerd容器与cni网络插件一,Containerd 的技术方向和目标简洁的基于 gRPC 的 API 和 client library完整的 OCI 支持(runtime 和 image spec)同时具备稳定性和高性能的定义良好的容器核心功能一个解耦的系统(让 image、filesystem、runtime 解耦合),实现插件式的扩展和重用   为什么需要独立的 containerd:以往隶属于docker项目中,现如今从整体 docker 引擎中分离出的项目(开源项目的思路)可以被 Kubernets CRI 等项目使用(通用化)为广泛的行业合作打下基础(就像 runC 一样)二,安装步骤1,升级内核[root@os-240 ~]#  rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm[root@os-240 ~]#   yum --disablerepo="*" --enablerepo="elrepo-kernel" list available#建议迁移lt长期支持内核[root@os-240 ~]#   yum --enablerepo='elrepo-kernel' install kernel-lt kernel-lt-devel[root@os-240 ~]#  grub2-set-default 0[root@os-240 ~]#  reboot不升级内核,启动containerd服务或是拉取镜像会报以下错误:Mar 24 11:05:03 os-240 containerd: time="2023-03-24T11...
华为云asm服务网格治理部署bookinfo时镜像拉取失败问题1,在创建 CCE后,再加4个节点,然后再创建asm企业版后,再将cce集群加入到asm服务中,2,在创建bookinfo示例后,提示拉取swr镜像失败,经检查是cce部署bookinfo 实例时,没有将 镜像访问凭证 加入到YAML中,导致无法正常进行。解决方法:部署asm的bookinfo示例后,再到cce集群中,选择对应的    工作负载 ,点 升级 ,然后将默认凭证 加入,保存后就会正常使用了。
一键快速部署Kubernetes高可用集群三个主节点、三个Node节点、两个用于负载平衡的节点以及一个虚拟IP地址。此示例中的虚拟IP地址也称为浮动IP地址。也就是说,即使节点发生故障,也可以在节点之间交换IP地址,实现故障切换,实现高可用性。由于资源限制服务器进行了复用,如下:1初始化操作所有机器操作如下:修改主机名hostnamectl set-hostname k8s-master01hostnamectl set-hostname k8s-master02hostnamectl set-hostname k8s-master03hostnamectl set-hostname k8s-node01hostnamectl set-hostname k8s-node02[root@k8s-master01 ~]# MasterNodes='k8s-master01 k8s-master02 k8s-master03'[root@k8s-master01 ~]# WorkNodes='k8s-node01 k8s-node02'[root@k8s-master01 ~]# for NODE in $MasterNodes; do ssh-copy-id $NODE ;done[root@k8s-master01 ~]# for NODE in $WorkNodes; do ssh-copy-id $NODE ;done执行初始化脚本[root@k8s-master01 ~]# vim init.sh#!/bin/shecho "192.168.102.71 k8s-master01" >> /etc/hostsecho "192.168.102.72 k8s-master02" >> /etc/hostsecho "192.168.102.73 k8s-master03" >> /et...
K8s运维-集群升级 -- kubeadm v1.20 安装方式升级kubeadm安装方式升级升级k8s集群必须 先升级kubeadm版本到目的k8s版本,也就是说kubeadm是k8s升级的准升证。1.1 升级准备在k8s的所有master节点进行组件升级,将管理端服务kube-controller-manager、kube-apiserver、kube-scheduler、kube-proxy进行版本升级。1.1.1 验证当前k8s master版本[root@k8s-master01 ~]# kubeadm versionkubeadm version: &version.Info{Major:"1", Minor:"20", GitVersion:"v1.20.14", GitCommit:"57a3aa3f13699cf3db9c52d228c18db94fa81876", GitTreeState:"clean", BuildDate:"2021-12-15T14:51:22Z",GoVersion:"go1.15.15", Compiler:"gc", Platform:"linux/amd64"}1.1.2 验证当前k8s node版本[root@k8s-master01 ~]# kubectl get nodesNAME STATUS ROLES AGE VERSIONk8s-master01.example.local Ready control-plane,master 20h v1.20.14k8s-master02.example.local Ready control-plane,master 20h v1.20.14k8s-master0...
docker 安装 ETCD v3.5.5集群一、环境物理机 一台 部署Centos7系统,再配置Docker软件,需要安装三个 ETCD v3.5容器实例。二、安装具体情况.1,下载etc3.5容器镜像。 docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/etcd:3.5.5-02, 镜像打个新标签。docker image tag registry.cn-hangzhou.aliyuncs.com/google_containers/etcd:3.5.5-0 etcd:3.5.53,创建一个容器网络docker network create --subnet 192.167.0.0/24 etcdnet三、创建etcd容器。1,etcd10容器,集群token etcd-cluster-10 。docker run -dt -p 3379:2379 -p 3380:2380 --restart=always --net etcdnet --ip 192.167.0.10 --name etcd10 etcd:3.5.5 \ /usr/local/bin/etcd  --name etcd10 --enable-v2 \  --initial-advertise-peer-urls http://192.167.0.10:2380 \  --listen-peer-urls http://0.0.0.0:2380 \  --listen-client-urls http://0.0.0.0:2379 \  --advertise-client-urls http://192.167.0.10:2379 \  --initial-cluster-token etcd-cluster-10 \  --initial-cluster etcd10=http://192.167.0.10:2380,etcd11=http://192...
    总共39页,当前第1页 | 页数:
  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11