本站用于记录日常工作内容,虚拟化云计算,系统运维,数据库DBA,网络与安全。
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
Datagear3.2应用进行容器化改造1,适用了一个datagear的数据可视化功能,发现程序 没有容器化。这里就准备自行配置创建一个容器。2,采用 openeuler22.03系统,加载 java1.8与datagear3.2程序,最后进行创建一个容器。3,创建文件保存目录。mkdir /data/datagearcd /data/datagear4,下载jdk与datagear文件。 wget https://gitee.com/datagear/datagear/attach_files/1109525/download/datagear-3.2.0.zip wget https://repo.huaweicloud.com/java/jdk/8u151-b12/jdk-8u151-linux-x64.tar.gz5,解压文件,并整理文件。 unzip datagear-3.2.0.zip tar zxvf jdk-8u151-linux-x64.tar.gz mv jdk1.8.0_151 jdk86,创建 Dockerfile文件,内容如下:FROM openeuler/openeuler:22.03WORKDIR /homeCOPY jdk8 /home/javaCOPY datagear-3.2.0 /home/datagearENV JAVA_HOME=/home/javaENV PATH=$JAVA_HOME/bin:$PATHENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tool.jarENV DataGearWorkspace=/home/datagear/data/VOLUME /home/datagear/dataEXPOSE 50401CMD [ "java","-jar","datagear/datagear-3.2.0.j...
Docker图形化管理工具Portainer CE 重置恢复密码的方法 Docker 图形化管理工具Portainer CE的使用时,可能由于长时间不用,忘记了初始设置的管理员的密码。Portainer CE登陆页面没有找回密码功能。需要通过相关的命令解决处理。本文主要介绍Portainer CE 重置恢复管理员密码的方法。 1、下载镜像portainer/helper-reset-password docker pull portainer/helper-reset-password 2、查看停止运行的容器 1)查看运行容器的id docker container ls 输出: CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7c8a24a63ff8 louislam/uptime-kuma:1 "/usr/bin/dumb-init …" 21 hours ago Up 21 hours (healthy) 0.0.0.0:3001->3001/tcp uptime-kuma
017a43cdd723 portainer/portainer-ce "/portainer" 21 hours ago Up 21 hours 0.0.0.0:8000->8000/tcp, 0.0.0.0:9000->9000/tcp...
kubernetes yaml模板与示例Kubernetes资源的创建、更新、删除等操作时均可以使用json或yaml文件进行操作,更新和删除可以依赖之前的文件进行更改,但是创建资源清单文件就没那么容易了,k8s的配置项实在太多,稍微不注意就会犯错。要写好一个yaml文件,你需要了解yaml的语法,需要掌握k8s的各种配置,对于一个k8s的初学者而言,这将是一件很难的事情。本文按照k8s资源分类,详细列出各个资源的yaml字段与格式,供大家学习和使用。一、pod实际生产环境中很少直接创建pod资源,基本都是通过资源控制器对pod进行管理。yaml模板:apiVersion: v1 #必填,版本号
kind: Pod #必填,资源类型
metadata: #必填,元数据
name: <name>-Depolyment #必填,资源名称
namespace: <namespace> #Pod所属的命名空间
labels: #自定义标签
- key: <value> #自定义标签名字<key: value>
annotations: #自定义注解列表
- name: <string> #自定义注解名字
spec: #必填,部署的详细定义
containers: #必填,定义容器列表
- name: <name> #必填,容器名称
...
总共58页,当前第3页 | 页数: - 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
最新评论