k8s部署nginx

 

K8s部署nignx

一、本机环境

上传所有的镜像到k8s.io的命名空间保障所有的节点都有该镜像

ctr -n k8s.io images import nginx.tar.gz

 

 

 

二、编写服务 yaml文件

创建存放html文件的共享存储空间

nginxpvc_html.yaml

apiVersion: v1

kind: PersistentVolumeClaim

metadata:

  name: html-claim

spec:

  accessModes:

    - ReadWriteOnce

  resources:

    requests:

      storage: 1Gi

 

创建存放nginx文件的共享存储空间

nginxpvc_config.yaml

apiVersion: v1

kind: PersistentVolumeClaim

metadata:

  name: nginx-config-volume

spec:

  accessModes:

    - ReadWriteOnce

  resources:

    requests:

      storage: 1Gi

 

存储nginx配置到3configmap

nginxconfigmap.yaml

apiVersion: v1

kind: ConfigMap

metadata:

  name: nginx-config

data:

  nginx.conf: |

    server {

      listen 80;

      location / {

        root /usr/share/nginx/html;

      }

    }

 

Pod配置

deployment.yaml

apiVersion: apps/v1

kind: Deployment

metadata:

  name: nginx-deployment

spec:

  replicas: 1

  selector:

    matchLabels:

      app: nginx

  template:

    metadata:

      labels:

        app: nginx

    spec:

      containers:

      - name: nginx

        image: docker.1panel.dev/nginx:latest

        imagePullPolicy: "IfNotPresent"

        ports:

        - containerPort: 80

        volumeMounts:

        - name: nginx-config-volume

          mountPath: /etc/nginx/conf.d/

        - name: html-volume

          mountPath: /usr/share/nginx/html/

      volumes:

      - name: nginx-config-volume

        configMap:

          name: nginx-config

      - name: html-volume

        persistentVolumeClaim:

          claimName: html-claim

 

释放端口

service.yaml

apiVersion: v1

kind: Service

metadata:

  name: nginx-service

spec:

  selector:

    app: nginx

  ports:

  - name: http

    port: 80

    targetPort: 80

    nodePort: 30001

  type: NodePort

 

注意:在这之间还有个命名空间的yaml没创建默认存放到dedault下,改空间的作用主要用于区分自己的业务类似于分组配置。分别拷贝自己的nginx.conf、html配置到创建的pvc的目录下。

 

 

 

 

所以部署业务过程为:

创建命名空间---创建pvc---创建存放配置(共享存储)的ConfigMap---创建deployment---创建service

 

三、查看状态

Kubect get pod

Kubectl get service

四、查看服务

http://123.13.8.210:30001/nav.html  能查看到页面就算成功

 

 

五、注意事项

容器内的环境和容器外的环境不一样需要注意容器内存放配置和html的目录方便修改等;

 

posted @   升级打怪之路  阅读(3)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
点击右上角即可分享
微信分享提示