【K8S实战系列-nignx-2】k8s中configmap挂载配置nginx.conf
【K8S实战系统-nignx-2】k8s中configmap挂载配置nginx.conf
1. ConfigMap是什么
ConfigMap作用是存储不加密的数据到etcd中,让Pod以变量或数据卷Volume挂载到容器中
2. 创建ConfigMap
2.1 准备nginx.conf 配置文件
user nginx;
worker_processes auto;error_log /nas/nas-nginx/logs/error.log notice;
pid /var/run/nginx.pid;events {worker_connections 4096;
}http {include /etc/nginx/mime.types;default_type application/octet-stream;log_format main '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';#access_log /nas/nginx/logs/access.log main;sendfile on;keepalive_timeout 65;include /nas/nginx/conf.d/*.conf;
}
2.2 创建名nginx-cm的configmap
kubectl create configmap nginx-cm --from-file=nginx.conf
2.3 然后查看详细信息
kubectl describe cm nginx-cm
3 Volume数据卷形式挂载
vim nginx-deployment.yamlapiVersion: apps/v1
kind: Deployment
metadata:name: nginx
spec:replicas: 2selector:matchLabels:app: nginxtemplate:metadata:labels:app: nginxspec:containers:- name: nginximage: "registry-vpc.cn-hangzhou.aliyuncs.com/cncx-product/nginx:v2021"imagePullPolicy: IfNotPresentports:- containerPort: 80volumeMounts:- name: nginx-configmountPath: /etc/nginx/nginx.confsubPath: nginx.conf- name: pvc-nas-nginxmountPath: "/nas/nas-nginx"volumes:- name: nginx-configconfigMap:name: nginx-cmitems:- key: nginx.confpath: nginx.conf- name: pvc-nas-nginxpersistentVolumeClaim:claimName: nas-nginx-claimimagePullSecrets:- name: images-secret
这里我不仅使用configmap来获取nginx.conf的配置文件;
也挂载了nas的数据盘,来存放其他配置文件,以及静态资源的存储;
4. 创建nginx pod
kubectl apply -f nginx-deployment.yaml
5. 查看nginx deploy
[root@server40 nginx]# kubectl get deploy -o wide
NAME READY UP-TO-DATE AVAILABLE AGE CONTAINERS IMAGES SELECTOR
nginx 2/2 2 2 56s nginx registry-vpc.cn-hangzhou.aliyuncs.com/cncx-product/nginx:v2021 app=nginx
6.进入容器内部,查看目录具体信息
kubectl exec -it 容器名 /bin/bash
7 通过nginx 服务测试是否成功
创建服务:nginx-deployment.yaml
vim nginx-service.yamlapiVersion: v1
kind: Service
metadata:name: nginxlabels:name: nginx-svc
spec:type: NodePortports:- port: 80targetPort: 80protocol: TCPnodePort: 30080- port: 443targetPort: 443protocol: TCPnodePort: 30443selector:app: nginx
8. 通过浏览器查看效果。
【K8S实战系列-nignx-2】k8s中configmap挂载配置nginx.conf相关推荐
- CleanAOP实战系列--WPF中MVVM自动更新
CleanAOP实战系列--WPF中MVVM自动更新 作者: 立地 邮箱: jarvin_g@126.com QQ: 511363759 CleanAOP介绍:https://github.com/J ...
- Spark入门实战系列--6.SparkSQL(中)--深入了解SparkSQL运行计划及调优
[注]该系列文章以及使用到安装包/测试数据 可以在<倾情大奉送--Spark入门实战系列>获取 1.1 运行环境说明 1.1.1 硬软件环境 l 主机操作系统:Windows 64位, ...
- k8s实战系列:3-存储的花样玩法(上)
从存储,到后面的容器运行时,网络接口,可观察性组件等就可以感受到云原生的开放性,包容性和生态的丰富性. 我们再回顾下云原生景观图 https://landscape.cncf.io/ Docker存储 ...
- k8s实战系列: 1-再谈为什么需要Kubernetes
文章目录 容器解决了什么?又遇到了什么问题 容器,到底是怎么一回事儿? 容器核心 0."程序"运行 1. Namespace Namespce练习 2. Cgroups CPU 子 ...
- K8S实战集训第二课 K8S 存储 之 Ceph 分布式存储系统
文章目录 为什么要用Ceph Ceph架构介绍 Ceph核心概念 RADOS Librados Crush Pool PG Object Ceph核心组件 OSD Monitor MDS Mgr RG ...
- 深度学习核心技术精讲100篇(八)-keras 实战系列之深度学习中的多任务学习(Multi-task learning)
多任务学习(Multi-task learning)简介 多任务学习(Multi-task learning)是迁移学习(Transfer Learning)的一种,而迁移学习指的是将从源领域的知识( ...
- 【Flink实战系列】Flink 本地 Web UI 的配置及使用
当你在本地开发调试 Flink 任务的时候,如果没有搭建集群环境,但是又想要查看 Flink 的 Web UI 该怎么办呢? 其实 Flink 是提供有在本地查看 Flink UI 功能的. 添加依赖 ...
- Redis笔记系列(特别总结篇)——常见配置redis.conf知识点总结
2019独角兽企业重金招聘Python工程师标准>>> 由于前几篇说的redis配置信息量有点杂,很多是循序渐进把各个点引出的,不太方便我自己和其他小伙伴日后拿出来瞄一眼,所以,本文 ...
- MP实战系列(二)之集成swagger
其实与spring+springmvc+mybatis集成swagger没什么区别,只是之前写的太不好了,所以这次决定详细写. 提到swagger不得不提rest,rest是一种架构风格,里面有对不同 ...
最新文章
- 用开放地址法中的线性探查法解决冲突实现哈希表的运算
- linux iconv
- java输出链表的值_[剑指offer] 从尾到头打印链表(三种方法) java
- vue.js 引用背景图 background 无效的3种解决办法
- java切面1.6需要的包_Java技术 AspectJ
- (软件工程复习核心重点)第六章实现和测试-第七节:黑盒测试
- java面向对象练习题一
- 产品原型图设计Axure教程-CSDN就业班-专题视频课程
- 原生ajax如何跨域,原生ajax 如何解决cors跨域问题
- linux主机安装sctp协议栈
- 武汉大学计算机学院 优秀夏令营,武汉大学计算机学院2016年优秀大学生暑期夏令营活动实施方案...
- 使用CDN加速的优点
- 开源项目——小Q聊天机器人V1.5
- 原创 | SpringBoot版本竟然引发这种问题,让我吐血三升!
- Facebook自家数据外泄
- Android手机电池耐用吗,八款超长待机的智能手机 大容量电池十分耐用
- VS2022为什么会出现找不到指定文件?
- Win10系统还原文件默认打开方式
- web开发一定时间没操作_Web开发—明智地投资您的时间
- Alpha通道原理及实现方法