春风十里不如你 —— Taozi - nginx
https://xiongan.host/index.php/tag/nginx/
-
【欧拉】OpenEuler搭建Nginx
https://xiongan.host/index.php/archives/220/
2023-09-08T15:33:00+08:00
OpenEuler的web服务器基础环境查看系统环境版本[root@taozi ~]# cat /etc/os-release
NAME="openEuler"
VERSION="21.09"
ID="openEuler"
VERSION_ID="21.09"
PRETTY_NAME="openEuler 21.09"
ANSI_COLOR="0;31"配置环境首先配置本地yum源,搭建repo服务器清理缓存,重新创建缓存[root@taozi ~]# dnf clean all
[root@taozi ~]# dnf makecache
#安装nginx服务
[root@taozi ~]# dnf install nginx -y查看安装后的rpm包启动nginxi服务并设置开机自启[root@taozi ~]# systemctl start nginx
[root@taozi ~]# systemctl enable nginx查看服务状态Nginx服务的配置文件/etc/nginx/nginx.conf 主要的配置文件/etc/nginx/conf.d 配置文件的辅助目录,也包含在主配置文件当中/usr/share/nginx/html web网站的index文件所在目录查看语法错误【syntax is ok】配置防火墙# firewall-cmd --add-service=http --permanent
success
# firewall-cmd --reload
success验证成功
-
【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。
-
【K8s】下的kubectl的Deployment部署Nginx
https://xiongan.host/index.php/archives/205/
2023-05-10T21:00:59+08:00
部署Nginx服务简介:使用Deployment实现其滚动更新管理。创建 Deployment在 master 节点创建/labfile/deployfile 目录,用于保存配置文件。后续创建deployment 的 yaml 文件保存在此处。[root@master ~]# mkdir labfile
[root@master ~]# cd labfile/
[root@master labfile]# mkdir deplofile
[root@master labfile]# cd deplofile/
[root@master deplofile]# vim nginx-dy.yaml
//以下内容为deployment文件
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-dy
labels:
app: nginx
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.7.9
ports:
- containerPort: 80部署该 nginx-dy[root@master deplofile]# kubectl apply -f nginx-dy.yaml
deployment.apps/nginx-dy created查看详细信息、创建结果和replicaset已经创建好:弹性伸缩 Deployment编辑之前创建的nginx-dy.yaml,将副本数量修改5应用变更后的yaml文件[root@master deplofile]# kubectl apply -f nginx-dy.yaml
deployment.apps/nginx-dy configured
[root@master deplofile]# kubectl get pod滚动升级 deployment复制ng原版为两个新版本[root@master deplofile]# cp nginx-dy.yaml nginx-dy-v2.yaml
[root@master deplofile]# cp nginx-dy.yaml nginx-dy-v3.yaml进行滚动更新[root@master deplofile]# kubectl apply -f nginx-dy-v2.yaml --record查看更新状态,上为更新前版本查看replicaset,看到一个新的,里面有5个pod,原有的pod不存在了查看deployment更新事件更新到v3版本[root@master deplofile]# kubectl apply -f nginx-dy-v3.yaml --record查看deployment的更新记录[root@master deplofile]# kubectl rollout history deployment nginx-dy查看历史版本 2 的详细信息[root@master deplofile]# kubectl rollout history deployment nginx-dy --revision=2回滚到历史版本2[root@master deplofile]# kubectl rollout undo deployment nginx-dy --to-revision=2可以看到已经回滚到了版本2删除deployment[root@master deplofile]# kubectl delete deployment nginx-dy实训查看deployment信息ymal文件搭建httpd通过 yaml 文件创建一个 deployment,有如下要求:使用 httpd:2.44副本[root@master deplofile]# vim httpd-v1.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: httpd-dy
labels:
app: httpd
spec:
replicas: 4
selector:
matchLabels:
app: httpd
template:
metadata:
labels:
app: httpd
spec:
containers:
- name: httpd
image: httpd:2.4
ports:
- containerPort: 8080开始创建将上面创建的deployment删除一个pod,变成副本3编辑yaml文件更新升级该 deployment 的镜像版本至 latest。复制v1版本yaml为v2版本,并修改镜像版本号进行更新升级,看到版本已经升级到了latest寻找该 deployment 中各个 pod 运行节点,deployment 创建的时间戳(Creation Timestamp)。