首页
Search
1
v2ray异常错误之二
3,310 阅读
2
linux时区设置
2,698 阅读
3
DB2常用操作
2,173 阅读
4
websphere修改jvm内存xmx和xms
1,929 阅读
5
nfs客户端文件属主为nobody的现象
1,552 阅读
技术
生活
运动
游戏
电影
登录
Search
标签搜索
docker
linux
troubleshooting
nginx
secure
truenas
mysql
windows
python
esxi
docker swarm
oracle
zabbix
tomcat
blog
dsm
群晖
rpa
freenas
db
yuc
累计撰写
291
篇文章
累计收到
0
条评论
首页
栏目
技术
生活
运动
游戏
电影
页面
搜索到
8
篇与
的结果
2024-04-26
docker集群问题之ip地址不足
异常问题 docker集群网络地址不足,无法启动新的容器,可以按照如下步骤处理: 创建新的集群网络 docker network create -d overlay --attachable --subnet 172.21.0.0/16 mynets 服务加入此网络 docker service update --network-add=mynets service_name 服务删除之前的网络 docker service update --network-rm=mynet service_name 注:加入和删除也可以在服务为0时操作,另添加的网络不要跟现有的网络冲突
2024年04月26日
2 阅读
0 评论
0 点赞
2024-01-03
docker swarm架构更改
当前架构 目前整个docker swarm架构是: 节点数量: 3管理节点,4工作节点 keepalived 自动配置 VIP 到任意管理节点 WEB 服务由 3副本 NGINX (HOST模式)代理其服务名 使用 VIP 对外提供服务, 只访问到此 NGINX 当 VIP 管理节点故障时候,由 keepalived 切换 VIP 到其他管理节点 问题现状 上面的架构实现了一部分的高可用、也存在一定的问题: docker swarm 高可用,挂1-2个管理、工作节点能够保证环境正常 比较依赖于VIP和管理节点的联动,VIP+keepalived+docker swarn全部集中在一起 存在一定的网络问题,比如bind服务容器化后,VIP所在的机器中的容器可能无法访问到VIP地址提供的bind解析,可见之前分析的dns问题 目前的问题在于各个部件耦合的太紧,当发生故障的时候,keepalived、nginx、VIP等都需要切换,还要考虑VIP切换到了哪个nginx节点,这样维护比较麻烦。所以希望解耦服务之间的关系,让每个服务只关心自己的部分,并且解决 dns 解析的 nat 问题 架构变更 架构的变更需要考虑服务解耦,并且每个部分实现一定的高可用: 分离出当前的7层nginx,变成4层代理,部署到2-3个节点到其他物理机上,VIP部署在此nginx,stream代理所有的docker节点,实现高可用 nginx、bind等服务改成replicate模式,副本1,设置故障自动恢复 (可选)nginx可以考虑替换为 treafik等微服务网关,可以实现7层会话保持以及自动发现、failover等 tomcat镜像设置健康检查,使得多副本情况下,只是服务挂了也可以被docker正确的识别到,不再让ipvs转发到此节点 HEALTHCHECK --interval=5s --timeout=3s --retries=3 \ CMD curl -fs http://localhost/ || exit 1 经过以上调整后多副本的服务高可用: 如果某个副本宕机,可以马上识别到并且移除,时间应该在几秒内 如果是副本内服务挂掉,健康检测可以在20秒内判断,并且不再转发 如果docker物理机宕机,重要容器failover,nginx不再转发到此节点
2024年01月03日
5 阅读
0 评论
0 点赞
2023-07-19
portainer之使用
0x1 首先说说为什么使用 portainer,因为他在免费开源的同类管理容器平台的工具中,算是比较好用的。再就是我们技术人员可以操控命令行为什么还需要它呢?答案是给其他人员用,并且使用起来也相对方便。比如我们想要进入 docker swarm 集群中的某个容器内,那么需要先定位到此服务在哪个机器,然后在此机器中进入,但是使用 portainer 在列表中找到后可以直接进入。 0x2 再说说具体的使用感受,一开始使用的社区版,主要功能是有的,什么镜像管理,容器管理,创建服务,服务管理。但是体验差的地方也有,比如:1. 权限管理简单,要么只读要么管理员。 2. 不稳定,经常出现刷新不出数据的情况 针对上面的情况,我选择了申请试用商业版,但惊喜的是商业版 license 可以免费试用 5 个 agent 节点。果然商业版不一样,上面的问题都得到了解决。最后看看 portainer 的部署步骤: agent 部署: docker service create \ --name portainer_agent \ --network mynets \ -p 9001:9001/tcp \ --mode global \ --constraint 'node.platform.os == linux' \ --mount type=bind,src=//var/run/docker.sock,dst=/var/run/docker.sock \ --mount type=bind,src=//var/lib/docker/volumes,dst=/var/lib/docker/volumes \ portainer/agent:2.18.3 server 部署: docker service create \ --name portainer \ --network mynets \ --mount type=bind,src=/docker/others/portainer/data,dst=/data \ --publish 9000:9000 \ --constraint 'node.role == manager' \ --replicas=1 \ harbor.succez.com/base/portainer/portainer \ -H "tcp://tasks.portainer_agent:9001" --tlsskipverify
2023年07月19日
5 阅读
0 评论
0 点赞
1
2