使用K8S部署nginx

本文详细介绍了如何使用Docker导入基础镜像、编写部署文件,并通过Kubernetes进行Nginx服务的部署。从Docker保存与加载镜像、测试镜像功能到编写Kubernetes的部署文件,最后通过kubectl命令完成部署。

导入Base image

从已有项目拷贝 nginx base image
docker save -o nginx.tar.gz  nginx:xxxx

docker load -i nginx.tar.gz
docker push nginx:xxxx
docker tag nginx:xxxx nls-nginx:19.5
测试镜像是否正常工作:
#使用内置的 start-nginx.py 部署nginx
docker run --name nginx-nls -d -p 8080:80 nls-nginx:19.5
#手动启动 nginx要设置 ‘daemon off’
docker run --name nginx-nls -d -p 8080:80 localhost:5000/nls- nginx:vNLS.5G.19.5.3 nginx -g ‘daemon off;’ -c /etc/nginx/conf/nginx.conf

编写部署文件

nginx-rc.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-lb-1
spec:
replicas: 1
selector:
matchLabels:
app: nginx-lb-1
template:
metadata:
labels:
app: nginx-lb-1
component: nls-nginx-lb
spec:
hostNetwork: true
dnsPolicy: ClusterFirstWithHostNet
containers:
- name: nginx
image: nls-nginx:19.5
securityContext:
privileged: true
command:
- /start-nginx.py
- --nginx-conf
- /etc/nginx/conf/nginx.conf
- --grace-signal
- SIGTERM
- --log-file
- /var/log/nginx/start-nginx-lb.log
- --log-level
- INFO
volumeMounts:
- name: logdir
mountPath: /var/log/nginx
volumes:
- name: logdir
hostPath:
path: /opt/nls/nls_run/log
- name: crash-dir
hostPath:
path: /var/crash

部署

		kubectl create -f nginx-rc.yaml
		kubectl delete deployment nginx-lb-1 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值