本站用于记录日常工作内容,虚拟化云计算,系统运维,数据库DBA,网络与安全。
一键快速部署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...
Run etcd clusters inside containersRunning etcd with rkt and Docker using static bootstrappingThe following guide shows how to run etcd with rkt and Docker using the static bootstrap process.rktRunning a single node etcdThe following rkt run command will expose the etcd client API on port 2379 and expose the peer API on port 2380.Use the host IP address when configuring etcd.export NODE1=192.168.1.21 Trust the CoreOS App Signing Key.sudo rkt trust --prefix quay.io/coreos/etcd # gpg key fingerprint is: 18AD 5014 C99E F7E3 BA5F 6CE9 50BD D3E0 FC8A 365E Run the v3.2 version of etcd or specify another release version.sudo rkt run --net=default:IP=${NODE1} quay.io/coreos/etcd:v3.2 -- -name=node1 -advertise-client-urls=http://${NODE1}:2379 -initial-advertise-peer-urls=http://${NODE1}:2380 -listen-client-urls=http://0.0.0.0:2379 -listen-peer-urls=http://${NODE1}:2380 -initial-cluster=node1=http://${NODE1}:2380 List the cluster member.etcdctl --endpoints=http://192.16...
Docker微服务的ETCD v3.2集群搭建教程详解etcd是一个高可用的键值存储系统,主要用于共享配置和服务发现。etcd是由CoreOS开发并维护的,灵感来自于 ZooKeeper 和 Doozer,它使用Go语言编写,并通过Raft一致性算法处理日志复制以保证强一致性。Raft是一个来自Stanford的新的一致性算法,适用于分布式系统的日志复制,Raft通过选举的方式来实现一致性,在Raft中,任何一个节点都可能成为Leader。Google的容器集群管理系统Kubernetes、开源PaaS平台Cloud Foundry和CoreOS的Fleet都广泛使用了etcd。etcd的特性    简单: curl可访问的用户的API(HTTP+JSON)定义明确,面向用户的API(gRPC)    安全: 可选的SSL客户端证书认证    快速: 单实例每秒 1000 次写操作    可靠: 使用Raft保证一致性Etcd构建自身高可用集群主要有三种形式    1)静态发现: 预先已知 Etcd 集群中有哪些节点,在启动时直接指定好Etcd的各个node节点地址    2)Etcd动态发现: 通过已有的Etcd集群作为数据交互点,然后在扩展新的集群时实现通过已有集群进行服务发现的机制    3)DNS动态发现: 通过DNS查询方式获取其他节点地址信息本次搭建的基础环境底层OS:Centos7docker版本...
docker部署可执行jar包的思路与完整步骤 对于springboot项目运行,直接是java -jar的方式运行,如果想要放到docker中运行,可以参考本文,下面这篇文章主要给大家介绍了关于docker部署可执行jar包的思路与完整步骤,需要的朋友可以参考下前言我们构建的是运行bash文件命令的镜像,而不是构建jar包的镜像。好处就是,jar包有更新,只需替换jar包或者bash文件,而无须重新构建镜像。通常,用docker承载运行java程序,是将jar包先构建镜像,然后创建docker容器运行。如果jar包更新,就需要删除原镜像,重新来一遍,耗时耗力。有一个方案是,我们创建一个bash文件(linux的批处理文件),其内容是运行我们的jar包。然后创建运行该bash文件的docker镜像、docker容器。这样的好处是很明显的,jar包有更新,只替换jar包,甚至jar包改名了,也只是更改bash文件的内容而已,而镜像、容器,不会受到任何影响,无需作出任何改动。一、思路1、将docker容器中的指定文件夹挂载到宿主机上,更新jar包只需上传到宿主机指定路径,方便更新2、利用bash文件运行jar包,并构建该bash的镜像,代替构建直接运行jar包的镜像,利于镜像与jar包解耦。例如,app-1.0.0.jar 升级到 app-2.0.0.jar,只须更...
docker-compose启动redis多机集群的实现(6台服务器3主3从)   本文主要介绍了docker-compose启动redis多机集群的实现(6台服务器3主3从),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧+目录1. 环境说明节点IPredis-node-110.10.239.31redis-node-210.10.239.32redis-node-310.10.239.33redis-node-410.10.239.34redis-node-510.10.239.35redis-node-610.10.239.362. 集群部署redis-node-1yml 文件123456789101112version: '2.2'services:  redis-node-1:    image: bitnami/redis-cluster:7.0    restart: always    container_name: redis-node-1    network_mode: "host"    volumes:      - ./redis-cluster_data-1:/bitnami/redis/data    environment:      - 'REDIS_PASSWORD=liubei@161'      - 'REDIS_NODES=10.10.239.31 10.10.23...
docker容器通过alpine 配置jdk与jar打包镜像方法FROM  alpineRUN sed -i "s@https://dl-cdn.alpinelinux.org/@https://repo.huaweicloud.com/@g" /etc/apk/repositories \    && apk add --no-cache tzdata \    && ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \    && echo "Asia/Shanghai" > /etc/timezoneWORKDIR /optADD datagear-3.2.0.zip /optRUN unzip datagear-3.2.0.zip && rm -rf datagear-3.2.0.zip \&&  apk --no-cache add openjdk8-jre-baseENV JAVA_HOME=/usr/lib/jvm/default-jvmENV DataGearWorkspace=/opt/dataENV PATH=$JAVA_HOME/bin:$PATHENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tool.jarVOLUME /optEXPOSE 50401CMD ["java","-jar","datagear-3.2.0/datagear-3.2.0.jar"]
alpine配置国内镜像仓库 本文讲解 linux alpine 系统如何配置国内镜像仓库地址。默认情况下,安装系统软件包比较慢,通过配置国内镜像仓库地址可以加快软件包的安装速度。alpine 的体积非常小,一般用于创建 docker 容器,仅占用很小的磁盘空间。 执行如下命令即可: RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories && apk update
alpine 配置国内源与时区 本文讲解 linux alpine 系统如何配置时区为中国。 执行如下命令即可: RUN apk add --no-cache tzdata \ && ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \ && echo "Asia/Shanghai" > /etc/timezonealpine 配置国内源:RUN sed -i "s@https://dl-cdn.alpinelinux.org/@https://repo.huaweicloud.com/@g" /etc/apk/repositories
    总共56页,当前第1页 | 页数:
  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11