Tomcat部署有两种,要么是war包,要么是jar包。这两种方式都可以。目前war包用的最多。很多时候线上将代码写好编译完了一输出就输出了一个war包。然后开发给你这个war包要你上线。对于我们来说只需要丢到站点目录下面就行了
[root@localhost ~]# ls
anaconda-ks.cfg zrlog.war
这里准备好了一个zrlog war包,我们将不破坏默认的站点,再给其添加一个新的站点,新添加站点只需要关注hos...
2021-12-21 /
530 次浏览 /
应用管理
容器之间共享数据
第一种方法是将共享数据放在 bind mount 中,然后将其 mount 到多个容器。还是以 httpd 为例,不过这次的场景复杂些,我们要创建由三个nginx容器组成的 web server 集群,它们使用相同的 html 文件,操作如下:
(1)将 /data/nginx/html/ mount 到三个nginx 容器.
[root@localhost ~]# cat /data/nginx/html/index.html
sha...
2021-12-21 /
421 次浏览 /
容器虚拟化
这里的NGINX PHP镜像需要自己构建,mysql 5.7使用官方镜像即可
前端项目镜像构建与部署:Nginx
[root@localhost _data]# cd /nginx/
[root@localhost _data]# cd /nginx/
[root@localhost nginx]# ls
Dockerfile nginx-1.15.5.tar.gz nginx.conf php.conf
#这里nginx.conf需要COPY拷贝到...
2021-12-21 /
487 次浏览 /
容器虚拟化
Harbor 部署HTTPS
生成SSL证书
配置https必须要有ssl证书,ssl证书可以是受信任的第三方CA签发的,大部分是花钱要买的,要域名证书公司帮你签发。这些都是受信任的,大概一个域名3000左右。
当然你也可以使用自签证书,比如使用openssl生成证书,或者使用cfssl工具去生成证书。
我这里使用自签证书,创建生成证书的目录ssl,并且下载配置cfssl工具
[root@reg harbor]# mkdir /ssl
[root@reg har...
2021-12-21 /
538 次浏览 /
容器虚拟化
keepalived 的几个进程
生产环境使用Keepalived正常运行,共启动3个进程,一个是父进程,负责监控其子进程,一个是VRRP子进程,另外一个是Checkers子进程。
两个子进程都被系统Watchlog看管,两个子进程各自负责自己的事,Healthcheck子进程检查各自服务器的健康状况,如果Healthcheck进程检查到Master上服务不可用了,就会通知本机上的VRRP子进程,让他删除通告,并且去掉虚拟IP,转换为BACKUP状态。
[root@...
2021-12-21 /
591 次浏览 /
应用管理
双机双主
正常情况下nginx是一台提供服务,另外一条备份,
互为主备要引入两个VIP,如mysql双主,nginx双主,这样要引入两个VIP,也就是还需要引入
virtual_ipaddress {
192.168.179.199
192.1681.79.188
}
只是代表这个实例有两个VIP
192.168.179.102
[root@localhost ~]# cat /etc/keepalived/keepaliv...
2021-12-21 /
594 次浏览 /
应用管理
前言
在lvs架构中,当后端的rs宕掉时,调度器仍会把请求转发到宕掉的rs上,而使用keepalived就可以解决该问题。
keepalived已经嵌入了lvs功能,无需使用ipvsadm & 无需编写lvs相关脚本。完整的keepalived+lvs需要两台调度器实现高可用,提供调度服务的只需要一台,另外一台作为备用。
用了lvs加keepalived可以使用一个VIP,LVS和keepalived整合的话,哪我们不需要手工去配置VIP操作...
2021-12-21 /
531 次浏览 /
系统运维
我们知道, Docker 是使用 Linux 的 Namespace 技术实现各种资源隔离的。那么究竟什么是 Namespace,各种 Namespace 都有什么作用,为什么 Docker 需要 Namespace呢?
首先我们来了解一下什么是 Namespace。
什么是 Namespace?
下面是 Namespace 的维基百科定义:
Namespace 是 Linux 内核的一项功能,该功能对内核资源进行分区,以使一组进程看到一组资源,而另一组...
2021-12-21 /
518 次浏览 /
容器虚拟化
CNM&libnetwork
libnetwork是Docker团队将Docker的网络功能从Docker的核心代码中分离出来形成的一个单独的库,libnetwork通过插件的形式为Docker提供网络功能。基于代码层面再升华一下,可以将docker的网络抽象出一个模型来,就叫CNM(Container Networking Model),该模型包含三大块:
Sandbox:容器的网络栈,包含interface,路由表,DNS设置...
2021-12-21 /
552 次浏览 /
容器虚拟化
YAML 基础
它的基本语法规则如下:
大小写敏感
使用缩进表示层级关系
缩进时不允许使用Tab键,只允许使用空格。
缩进的空格数目不重要,只要相同层级的元素左侧对齐即可
# 表示注释,从这个字符一直到行尾,都会被解析器忽略
在kubernetes 中,只需要两种结构类型:
Lists
Maps
Maps
Map 是字典,就是一个key:value的键值对
apiVersion: v1
kind: Po...
2021-12-21 /
529 次浏览 /
容器虚拟化