k8s--Discuz论坛lnmp平台部署
Deployment和Service删除
🗑️ 完整删除步骤
1. 删除 Deployment(会同时删除 Pod)
kubectl delete deployment nginx -n default
这会删除名为
nginx
的 DeploymentDeployment 管理的所有 Pod 也会被自动删除
2. 删除 Service
kubectl delete service nginx-svc-nodeport -n default
这会删除 NodePort 类型的 Service
3. 验证删除结果
# 检查 Deployment
kubectl get deployments -n default
# 检查 Pod
kubectl get pods -n default
# 检查 Service
kubectl get services -n default
所有相关资源应显示 "No resources found"
#默认命名空间是 default
#查看deployment
[root@k8s-master ~]# kubectl get deployments.apps
NAME READY UP-TO-DATE AVAILABLE AGE
nginx 2/2 2 2 116s
#删除名为nginx的deployment(会同时删除 Pod)(因为是在default空间里,所以-n指向default命名空间删除名为nginx的deployment)
[root@k8s-master ~]# kubectl delete deployment nginx -n default
deployment.apps "nginx" deleted
#删除 Service
#这会删除 NodePort 类型的 Service
[root@k8s-master ~]# kubectl delete service nginx-svc-nodeport -n default
部署Discuz
#部署Discuz
[root@k8s-master ~]# ls
anaconda-ks.cfg lnmp.tar
#复制一份给从节点34
[root@k8s-master ~]# scp /root/lnmp.tar root@192.168.158.34:/root/Authorized users only. All activities may be monitored and reported.
lnmp.tar 100% 624MB 226.6MB/s 00:02
#复制一份给从节点35
[root@k8s-master ~]# scp /root/lnmp.tar root@192.168.158.35:/root/Authorized users only. All activities may be monitored and reported.
lnmp.tar 0% 0 0.0KB/s --:-- ETA^lnmp.tar 100% 624MB 243.9MB/s 00:02
#从tar文档中加载镜像
[root@k8s-master ~]# docker load -i lnmp.tar
418dccb7d85a: Loading layer 8.596MB/8.596MB
4c1eede456c7: Loading layer 269MB/269MB
96d171dad28b: Loading layer 8.192kB/8.192kB
85db2e8d5fe7: Loading layer 3.584kB/3.584kB
3faa67a4599d: Loading layer 4.096kB/4.096kB
af6a339017a4: Loading layer 3.072kB/3.072kB
57bd1c48fa9b: Loading layer 3.584kB/3.584kB
8ff6aada8914: Loading layer 3.072kB/3.072kB
2320e8c251b4: Loading layer 149.5MB/149.5MB
e035f427eac8: Loading layer 2.048kB/2.048kB
e6b477eb3187: Loading layer 3.072kB/3.072kB
ebc3cf110417: Loading layer 4.608kB/4.608kB
43746c7407c2: Loading layer 227.4MB/227.4MB
Loaded image: lnmp:1
[root@k8s-master ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
lnmp 1 c80af76648ee Less than a second ago 649MB
编辑deployment文件
#编辑deployment文件
[root@k8s-master ~]# vim nginx-pod-liveness-http.yaml
apiVersion: apps/v1
kind: Deployment
metadata:labels:app: nginxname: nginxnamespace: default
spec:replicas: 1selector:matchLabels:app: nginxtemplate:metadata:labels:app: nginxspec:containers:- name: nginximage: lnmp:1imagePullPolicy: IfNotPresentports:- containerPort: 80livenessProbe: #指定探针httpGet: #指定探针方式path: /info.php port: 80 initialDelaySeconds: 5periodSeconds: 5initialDelaySeconds: 15
---
apiVersion: v1
kind: Service
metadata:labels:svc: nginx-svc-nodeportname: nginx-svc-nodeport
spec:type: NodePortports:- port: 80targetPort: 80nodePort: 30080selector:app: nginx
提交pod文件
#提交pod文件
[root@k8s-master ~]# kubectl apply -f nginx-pod-liveness-http.yaml
deployment.apps/nginx created
service/nginx-svc-nodeport created
#查看pod资源
[root@k8s-master ~]# kubectl get pod
NAME READY STATUS RESTARTS AGE
nginx-89f8c6894-jdx6b 1/1 Running 0 90m
#查看deployment
[root@k8s-master ~]# kubectl get deployments.apps
NAME READY UP-TO-DATE AVAILABLE AGE
nginx 1/1 1 1 91m
#查看service
[root@k8s-master ~]# kubectl get service
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 45h
nginx-svc-nodeport NodePort 10.105.189.102 <none> 80:30080/TCP 92m
#就可以了
查看pod详细信息
#查看pod详细信息
#查看 default 命名空间中名为 m 的Pod的详细信息
[root@k8s-master ~]# kubectl describe pod nginx-89f8c6894-jdx6b -n default
查看验证
#查看
[root@k8s-master ~]# kubectl exec -it nginx-89f8c6894-jdx6b -- ls /var/www/html
discuz index.html info.php mysql.php
[root@k8s-master ~]# curl 192.168.158.33:30080/index.html
nginx
[root@k8s-master ~]# curl 192.168.158.33:30080/info.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<style type="text/css">
[root@k8s-master ~]# curl 192.168.158.33:30080/mysql.php
MySQL 连接成功![root@k8s-master ~]#