k8s dockerk个人学习(2)
部署nginx和应用
部署nginx时我们需要把nginx的配置文件那出来便于以后修改nginx的配置,放置nginx配置文件时我们用k8s的pv的存储方式来存放这些文件
1.安装nfs服务,在kube-node2上安装
a.安装命令 sudo apt install nfs-kernel-server
b.配置nfs命令 sudo vi /etc/exports
添加内容保存退出 /mnt/nfs1 *(rw,sync,no_subtree_check,no_root_squash)
创建目录 sudo mkdir /mnt/nfs1
设置目录权限 sudo chmod +777 /mnt/nfs1
重启nfs服务 sudo service nfs-kernel-server restart
2.kube-node3,kube-node4安装nfs客户端
sudo apt install nfs-common
在其他2台从机器上挂载
mount 10.64.10.2:/mnt/nfs1 /mnt/nfs1
3.nginx pv等pod创建
将下面文件复制到/mnt/nfs1 命名nginx.yaml
# persistentVolumeReclaimPolicy: Recycle
apiVersion: v1
kind: PersistentVolume
metadata:
name: nginx-pv-log
spec:
capacity:
storage: 2Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
storageClassName: nfs-nginx
nfs:
path: /nfsdata/nginx/log
server: 10.64.4.2 ---
apiVersion: v1
kind: PersistentVolume
metadata:
name: nginx-pv-html
spec:
capacity:
storage: 200M
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
storageClassName: nfs-nginx
nfs:
path: /nfsdata/nginx/html
server: 10.64.4.2 ---
apiVersion: v1
kind: PersistentVolume
metadata:
name: nginx-pv-cfg
spec:
capacity:
storage: 100M
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
storageClassName: nfs-nginx
nfs:
path: /nfsdata/nginx/cfg
server: 10.64.4.2 ---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: nginx-pvc-log
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 2Gi
storageClassName: nfs-nginx ---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: nginx-pvc-html
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 200M
storageClassName: nfs-nginx ---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: nginx-pvc-cfg
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 100M
storageClassName: nfs-nginx ---
apiVersion: v1
kind: ReplicationController
metadata:
name: nginx
labels:
app: nginx
spec:
replicas: 3 # Pod副本数
selector:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx
imagePullPolicy: IfNotPresent
ports:
- containerPort: 80
volumeMounts:
- mountPath: /usr/share/nginx/html
name: nginx-html
- mountPath: /etc/nginx/
name: nginx-cfg
- mountPath: /var/log/nginx/
name: nginx-log
volumes:
- name: nginx-html
persistentVolumeClaim:
claimName: nginx-pvc-html
- name: nginx-cfg
persistentVolumeClaim:
claimName: nginx-pvc-cfg
- name: nginx-log
persistentVolumeClaim:
claimName: nginx-pvc-log ---
apiVersion: v1
kind: Service
metadata:
name: nginx-service
spec:
type: NodePort
sessionAffinity: ClientIP
selector:
app: nginx
ports:
- port: 80
nodePort: 30080
执行命令kubectl apply -f nginx.yml
访问10.64.4.3:30080可以看到nginx页面
k8s dockerk个人学习(2)的更多相关文章
- k8s dockerk个人学习(1)
虚拟机部署k8s 1. 创建虚拟机 虚拟机用的是virtualBox和vagrant工具,百度安装virtualBox和vagrant 创建vagrant目录并创建文件Vagrantfile内容为 V ...
- dockerk个人学习(0)
接下来几篇记录学习docker和ks的部署搭建环境和应用部署等
- k8s的chart学习(下)
1.开发自己的chart Kubernetes 给我们提供了大量官方 chart,不过要部署微服务应用,还是需要开发自己的 chart,下面就来实践这个主题. 1.1创建 chart 执行 helm ...
- k8s的chart学习(上)
chart 是 Helm 的应用打包格式.chart 由一系列文件组成,这些文件描述了 Kubernetes 部署应用时所需要的资源,比如 Service.Deployment.PersistentV ...
- Android开发学习4
学习内容: 1.RecyclerView 2.WebView
- k8s的网络学习
1.Kubernetes 网络模型 Kubernetes 采用的是基于扁平地址空间的网络模型,集群中的每个 Pod 都有自己的 IP 地址,Pod 之间不需要配置 NAT 就能直接通信.另外,同一个 ...
- K8s & Openshift案例学习
1. openshift排错技巧:https://mp.weixin.qq.com/s?__biz=MzAwMDc2NjQ4Nw==&mid=2663494178&idx=1& ...
- .NET Core on K8S快速入门课程学习笔记
课程链接:http://video.jessetalk.cn/course/explore 良心课程,大家一起来学习哈! 目录 01-介绍K8s是什么 02-为什么要学习k8s 03-如何学习k8s ...
- k8s学习
k8s简介 在学习k8s之前,相信大家和我一样,肯定都学习和使用过docker容器,并且对容器技术有了一个基本的认识.引用张磊老师的总结:其实一个"容器",实际上是一个由Linux ...
随机推荐
- WebAPI获取客户端请求数据
1.什么是WebAPI,详见:http://www.cxyclub.cn/n/25123/2.一般情况下我们不需要去关心客户端的请求数据,WebAPI会通过自己的方式去将客户端请求的数据转换为实体对象 ...
- ajax思维导图
- 52 53django
一.需要弄清楚的几个关键点: KEY: 1 Django项目无论多大,只是一个应用程序 2 地址栏发请求默认是GET请求 form表单可以发送get请求,也可以发送post请求 3 浏览器接受的响应体 ...
- Tree Cutting (Hard Version) CodeForces - 1118F2 (树形DP,计数)
大意:给定树, 每个点有颜色, 一个合法的边集要满足删除这些边后, 每个连通块内颜色仅有一种, 求所有合法边集的个数 $f[x][0/1]$表示子树$x$中是否还有与$x$连通的颜色 对于每种颜色已经 ...
- mac 安装nginx,并配置nginx的运行环境
1. 安装nginx // 查询有没有nginx brew search nginx //开始安装nignx brew install nginx 2. 检查nignx是否安装成功 nginx -V ...
- Python基础--Python简介和入门
☞写在前面 在说Python之前,我想先说一下自己为什么要学Python,我本人之前也了解过Python,但没有深入学习.之前接触的语言都是Java,也写过一些Java自动化用例,对Java语言只能说 ...
- Charles安装破解、抓取https请求及常见问题解决方法
现在基本大部分网站都使用了https,所以要想抓到https的请求,首要任务是先有工具:charles.fiddler,先介绍下charles针对https请求的抓取方法,此方法兼容windows和m ...
- python-day47--mysql数据备份与恢复
一.IDE工具介绍 掌握: #1. 测试+链接数据库 #2. 新建库 #3. 新建表,新增字段+类型+约束 #4. 设计表:外键 #5. 新建查询 #6. 备份库/表 #注意: 批量加注释:ctrl+ ...
- Eclipse重命名项目名后如何彻底修改工程名
背景:在Eclipse中当我们修改了一个Web项目名称后,在再次运行该项目,发现使用新的名称无法正常的浏览,而用旧的名称去可以 解决方案: 1:修改该项目目录下:.project文件 <?xml ...
- 图片上传--Upload
图片上传--Upload 图片上传基于spring框架写的代码: 1.首先:我们要再springmvc中添加试图解析器: <!-- 图片解析器 --> <bean id=" ...