春风十里不如你 —— Taozi - httpd
https://xiongan.host/index.php/tag/httpd/
-
【k8s】service服务和job服务
https://xiongan.host/index.php/archives/208/
2023-05-17T13:35:50+08:00
Service服务发现使用Service使用Service实验使用的目录病创建后端的httpd-Dy[root@master servicefile]# vim httpd-dy.yaml
kind: Deployment
apiVersion: apps/v1
metadata:
name: httpd
spec:
replicas: 3
selector:
matchLabels:
app: httpd
template:
metadata:
labels:
app: httpd
spec:
containers:
- name: httpd
image: httpd
ports:
- containerPort: 80部署Deployment并查看信息创建httpd-service.yaml文件[root@master servicefile]# vim httpd-service.yaml创建service并查看该信息(下kubernetes服务是系统服务)测试服务可用性,通过curl命令查看服务是否正常[root@master servicefile]# curl 10.102.124.67:8080可以删除刚刚创建的服务创建httpd-expose.yaml,并部署[root@master servicefile]# vim httpd-expose.yaml
kind: Service
apiVersion: v1
metadata:
name: httpd-svc
spec:
type: NodePort
selector:
app: httpd
ports:
- protocol: TCP
port: 8080
targetPort: 80
nodePort: 30144使用跳板机浏览器登录,查看node节点ip:端口使用DNS创建client.yaml,创建一个客户端pod,测试DNS功能[root@master servicefile]# vim client.yaml
kind: Pod
apiVersion: v1
metadata:
name: clientpod
spec:
containers:
- name: clientpod
image: busybox:1.28.3
args:
- /bin/sh
- -c
- sleep 30000创建并进入Pod命令行[root@master servicefile]# kubectl apply -f client.yaml使用nslookup命令查看服务域名,wget命令通过域名访问服务实训任务创建deployment1要求: 2 副本,镜像类型 httpd创建deployment2要求: 3副本,镜像类型 httpd创建 service1,service1 后端为 deployment1 和 deployment2 中所有 pod。创建 service2,service2 后端为 deployment1 中的第一个 pod 和 deployment2 中的第一个pod为dy的第一个pod和dy2的第一个pod打上标签tz=httpd01查看容器的详细信息查看端口信息,可以看到svc2的pod是要求所说的DeamonSet 与 Job使用DaemonSet创建一个Daemonset的yaml文件,并运行[root@master servicefile]# vim DS-nginx.yaml
kind: DaemonSet
apiVersion: apps/v1
metadata:
name: nginx-daemonset
spec:
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.7.9
ports:
- containerPort: 80查看daemonset的pod信息位置删除pod,查看daemonset的自动恢复功能查看到已经恢复好了使用Job创建Job的yaml文件[root@master servicefile]# vim pi-job.yaml
kind: Job
apiVersion: batch/v1
metadata:
name: pi
spec:
template:
spec:
containers:
- name: pi
image: perl
command: ["perl", "-Mbignum=bpi", "-wle", "print bpi(2000)"]
restartPolicy: Never
backoffLimit: 4创建Job并查看运行状态,他运行完毕后自动关闭了查看他的运行结果使用CronJob创建CronJob的yaml文件,设置每一分钟运行一次返回一次hello[root@master servicefile]# vim CJ-hello.yaml
kind: CronJob
apiVersion: batch/v1beta1
metadata:
name: hello
spec:
schedule: "*/1 * * * *"
jobTemplate:
spec:
template:
spec:
containers:
- name: hello
image: busybox
args:
- /bin/sh
- -c
- date; echo Hello from the Kubernets cluster-tz123
restartPolicy: OnFailure运行cronjob,查看运行情况查看pod的状态已经完成可以查看到运行cronjob后,每隔一分钟就会创建新的pod的,并输出信息实训任务创建一个 DaemonSet包含两个 pod镜像为 nginx创建一个job,用于输出helloworld创建一个 cronjob,在每日的 xx 小时 xx 点输出 helloworld。删除本次实验创建 DaemonSet,Job 和 CronJob。
-
【centos】环境下keepalived管家的实际应用
https://xiongan.host/index.php/archives/37/
2022-10-04T15:57:00+08:00
案例要求:一台web服务器宕机后,被keepalived检测到,切换到从服务器第二台备用,使服务正常运行,之后进行排错进行整改第一台机器准备:另外在准备好一台可以访问网页的机器便于测试1. Server端、client端都需要安装keepalived httpd服务yum install -y httpd keepalived2. Server端:mv /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf.bakvim /etc/keepalived/keepalived.conf! Configuration File for keepalivedglobal_defs {notification_email {root@localhost}notification_email_from Alexandre.Cassen@firewall.locsmtp_server 127.0.0.1smtp_connect_timeout 30router_id node3.tao.com}vrrp_instance websrv {state MASTER <==指定此节点为 Master 节点interface br0(修改成本机使用的网卡) <==指定监听的网卡virtual_router_id 51priority 100 <==指定优先级,数字越高约优先advert_int 1 <==心跳监测,单位为 sauthentication {auth_type PASS <==设定验证方式auth_pass 1111 <==设定密码为 1111}virtual_ipaddress {192.168.123.250 <==指定 VIP}}保存后 重启 keepalived服务之后在/var/www/html/中写一个测试页vi index.htmlserver.tao.com保存后 重启httpd服务3. Client端mv /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf.bakvim /etc/keepalived/keepalived.conf! Configuration File for keepalivedglobal_defs {notification_email {root@localhost}notification_email_from Alexandre.Cassen@firewall.locsmtp_server 127.0.0.1smtp_connect_timeout 30router_id node4.tao.com}vrrp_instance websrv {state MASTER <==指定此节点为 Master 节点interface br0(修改成本机使用的网卡) <==指定监听的网卡virtual_router_id 51priority 50 <==指定优先级,数字越高约优先advert_int 1 <==心跳监测,单位为 sauthentication {auth_type PASS <==设定验证方式auth_pass 1111 <==设定密码为 1111}virtual_ipaddress {192.168.123.250 <==指定 VIP}}保存后 重启 keepalived服务之后在/var/www/html/中写一个测试页Vi index.htmlServer.tao.com保存后 重启httpd服务4. 测试结果在server 和client端 keepalived都正常 显示的是server端页面Server端关闭keepalived模拟宕机 显示的就是client端
-
docker环境下httpd【镜像构建】
https://xiongan.host/index.php/archives/25/
2022-09-28T19:54:00+08:00
案例要求:需要centos镜像下的httpd环境直接打包成新的镜像,直接使用准备:一台装有docker环境的虚拟机,拉取centos:7的镜像(最新的也可以)1.使用docker commit构建镜像拉取镜像创建环境[root@xiongan /]# yum clean all
[root@xiongan /]# yum install -y httpd
[root@xiongan /]# vi /var/www/html/index.html
[root@xiongan /]# httpd -k start #使httpd服务立即生效【扩展】:此为httpd的配置文件中servername没有修改 95行 ServerName loaclhost:80[root@xiongan /]# curl http://172.17.0.2
hello,docker-xiongan以上环境就搭建完成#使用docker commit 构建新的镜像
[root@docker-tz ~]# docker commit xiongan centos-httpd:v12.使用docker build构建镜像-Dockerfile创建dockerfile目录在本机内创建dockerfile目录→创建Dockerfile文件 run-httpd.sh文件 index.html文件编辑脚本内容Dockerfile:
FROM centos:7
MAINTAINER "tz taozi@taozi.com"
RUN yum clean all
RUN yum -y install httpd
ADD run-httpd.sh /run-httpd.sh
RUN chmod 755 /run-httpd.sh
ADD index.html /var/www/html
EXPOSE 80
WORKDIR /
CMD ["/bin/bash","/run-httpd.sh"]
run-httpd.sh:
#! /bin/bash
rm -rf /run/httpd*
exec /sbin/httpd -D FOREGROUND测试执行[root@docker-tz dockerbuild]# docker build -t centos-test:v1 . #末尾有个. 不要丢掉 代表当前运行目录下的脚本文件