k8s安装nginx部署前端页面_怎么在k8s中部署nginx?

本文详细介绍了如何在Kubernetes集群中安装Nginx并部署前端页面,包括创建命名空间、定义Pod配置文件、挂载配置文件、日志文件及前端资源,以及设置Service实现NodePort服务。通过示例展示了Nginx配置文件的部分内容,指导读者完成Nginx的Pod和服务启动。
摘要由CSDN通过智能技术生成

apiVersion: v1

kind: Namespace

metadata:

name: shujubu

labels:

name: shujubu

执行文件创建 shujubu命名空间:

kubectl create -f  create_shjujubu_namespace.yaml

1

需要的镜像列表:

nginx                                                                      1.17                62c261073ecf        3 months ago        109MB

1

定义pod文件 nginx-pod.yaml

apiVersion: v1

kind: Pod

metadata:

name: sjb-nginx

namespace: shujubu

labels:

name: sjb-nginx

spec:

containers:

- name: nginx

image: ccr.ccs.tencentyun.com/shujubu/nginx:1.17

imagePullPolicy: IfNotPresent

ports:

- containerPort: 80

volumeMounts:

- mountPath: /etc/nginx/nginx.conf

name: config

- mountPath: /etc/nginx/conf.d/default.conf

name: default

- mountPath: /var/log/nginx/

name: log

- mountPath: /usr/share/nginx/shzr/area

name: shzr

- mountPath: /usr/share/nginx/zgbs/mujun

name: mujun

- mountPath: /usr/share/nginx/zgbs/area

name: zgbs

restartPolicy: Never

volumes:

- name: config

hostPath:

path: /home/users/qix/sjb_bs_source/nginx/nginx.conf

- name: default

hostPath:

path: /home/users/qix/sjb_bs_source/nginx/conf.d/default.conf

- name: log

hostPath:

path: /home/users/qix/sjb_bs_source/nginx/log/

- name: shzr

hostPath:

path: /home/users/qix/sjb_bs_source/shzr/area/

- name: mujun

hostPath:

path: /home/users/qix/sjb_bs_source/zgbs/mujun/

- name: zgbs

hostPath:

path: /home/users/qix/sjb_bs_source/zgbs/area/

上面的pod中只定义了一个容器,并在容器中挂载了nginx的配置文件、日志文件及我们要访问的资源文件。

定义service文件 nginx-np.yaml

apiVersion: v1

kind: Service

metadata:

name: nginx

spec:

selector:

name: sjb-nginx

type: NodePort

ports:

- protocol: TCP

port: 10008

targetPort: 80

nodePort: 30008

注意,service中的selector中的配置要与pod中的labels保持一致。

并附上nginx.conf中的部分配置

user  root;

worker_processes  1;

events {

worker_connections  1024;

}

http {

include       mime.types;

default_type  application/octet-stream;

sendfile        on;

keepalive_timeout  65;

gzip  on;

gzip_min_length 1024K;   # 大于1M的压缩

gzip_comp_level 5;    # 压缩级别 1-10 数字越大压缩的越好

gzip_types text/plain application/x-javascript text/css application/xml application/json text/javascript application/x-httpd-php image/jpeg image/gif image/png;   # 压缩的文件类型

server {

listen       80;

server_name  192.168.111.36:80;

location / {

root /usr/share/nginx/html;

index index.html;

}

error_page   500 502 503 504  /50x.html;

location = /50x.html {

root   /usr/share/nginx/html;

}

location ^~ /shzr/area/ {

root /usr/share/nginx/;

autoindex on;

}

location ^~ /zgbs/mujun/ {

root /usr/share/nginx/;

autoindex on;

}

location ^~ /zgbs/area/ {

root /usr/share/nginx/;

autoindex on;

}

}

}

启动pod命令:

kubectl create -f nginx-pod.yaml -n shujubu

1

启动service命令:

kubectl create -f nginx-np.yaml -n shujubu

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值