当前位置: 首页 > news >正文

做投标的网站google搜索引擎入口网址

做投标的网站,google搜索引擎入口网址,许昌 网站建设,做外贸翻译用哪个网站好9.1 k8s存储Volumes介绍 Container(容器)中的磁盘文件是短暂的,当容器崩溃时,kubelet会重新启动容器,但最初的文件将丢失,Container会以最干净的状态启动。另外,当一个Pod运行多个Container时&…

9.1 k8s存储Volumes介绍

Container(容器)中的磁盘文件是短暂的,当容器崩溃时,kubelet会重新启动容器,但最初的文件将丢失,Container会以最干净的状态启动。另外,当一个Pod运行多个Container时,各个容器可能需要共享一些文件。Kubernetes Volume可以解决这两个问题。eg:如一个pod里,容器A和容器B需要共享数据;不同pod间共享数据;
一些需要持久化数据的程序才会用到Volumes,或者一些需要共享数据的容器需要volumes。

不同pod间共享数据也可以通过volumes解决,比如我们nfs,jfs,ceph,公有云的nas等;

日志收集的需求:需要在应用程序的容器里面加一个sidecar,这个容器是一个收集日志的容器,比如filebeat,它通过volumes共享应用程序的日志文件目录。就是同一个pod下不同容器共享数据;
Volumes:官方文档https://kubernetes.io/docs/concepts/storage/volumes/

9.2 Volumes EmptyDir实现数据共享

 emptyDir是一个空目录,不需要提前创建相关目录,他的声明周期和Pod是完全一致的,Pod被删除时,emptyDir也会被删除。emptyDir主要是用于同一个Pod内不同的容器之间共享工作过程中产生的文件。


比较常用的volumes的使用emptydir,hostpath,NFS(configmap和secret 之前讲过)等

emptydir主要是用用作pod下不同容器间共享数据,不是持久化存储,重启后数据丢失。

和上述volume不同的是,如果删除Pod,emptyDir卷中的数据也将被删除,一般emptyDir卷用于Pod中的不同Container共享数据。它可以被挂载到相同或不同的路径上。
默认情况下,emptyDir卷支持节点上的任何介质,可能是SSD、磁盘或网络存储,具体取决于自身的环境。可以将emptyDir.medium字段设置为Memory,让Kubernetes使用tmpfs(内存支持的文件系统),虽然tmpfs非常快,但是tmpfs在节点重启时,数据同样会被清除,并且设置的大小会被计入到Container的内存限制当中。

[root@k8s-master01 ~]# vim nginx-deploy_1205_emptydir.yaml


# cat nginx-deploy.yaml 
apiVersion: apps/v1
kind: Deployment
metadata:labels:app: nginxname: nginx
spec:replicas: 2 #副本数selector:matchLabels:app: nginxstrategy:rollingUpdate:maxSurge: 25%maxUnavailable: 25%type: RollingUpdatetemplate:metadata:creationTimestamp: nulllabels:app: nginxspec:containers:- image: registry.cn-beijing.aliyuncs.com/dotbalo/nginx:1.15.12imagePullPolicy: IfNotPresentname: nginxresources: {}terminationMessagePath: /dev/termination-logterminationMessagePolicy: File# ports:# - containerPort: 8080#   name: nginx-port#   protocol: TCPvolumeMounts:- mountPath: /optname: share-volume- image: registry.cn-beijing.aliyuncs.com/dotbalo/nginx:1.15.12imagePullPolicy: IfNotPresentname: nginx2command:- sh- -c- sleep 3600resources: {}terminationMessagePath: /dev/termination-logterminationMessagePolicy: File# ports:# - containerPort: 8090#   name: nginx2-port#   protocol: TCPvolumeMounts:- mountPath: /mntname: share-volumednsPolicy: ClusterFirstrestartPolicy: AlwaysschedulerName: default-schedulersecurityContext: {}terminationGracePeriodSeconds: 30volumes: - name: share-volumeemptyDir: {}#medium: Memory
[root@k8s-master01 ~]# kubectl create -f nginx-deploy_1205_emptydir.yaml
deployment.apps/nginx created

副本数是2,所以创建2个pod,每个pod包含2个容器nginx、nginx2

 

验证1: 

pod   nginx-6c5778576c-4hxkj  nginx

[root@k8s-master01 ~]# kubectl exec -it nginx-6c5778576c-4hxkj -c nginx -- bash
root@nginx-6c5778576c-4hxkj:/# df -h
Filesystem      Size  Used Avail Use% Mounted on
overlay          26G  8.2G   18G  32% /
tmpfs            64M     0   64M   0% /dev
tmpfs           1.5G     0  1.5G   0% /sys/fs/cgroup
/dev/sda3        26G  8.2G   18G  32% /opt
shm              64M     0   64M   0% /dev/shm
tmpfs           2.9G   12K  2.9G   1% /run/secrets/kubernetes.io/serviceaccount
tmpfs           1.5G     0  1.5G   0% /proc/acpi
tmpfs           1.5G     0  1.5G   0% /proc/scsi
tmpfs           1.5G     0  1.5G   0% /sys/firmware
root@nginx-6c5778576c-4hxkj:/# cd /opt
root@nginx-6c5778576c-4hxkj:/opt# ls
root@nginx-6c5778576c-4hxkj:/opt# touch test.txt
root@nginx-6c5778576c-4hxkj:/opt# echo aaaaaaaaaaaaa > test.txt 

 pod   nginx-6c5778576c-4hxkj  nginx2

[root@k8s-master01 ~]# kubectl exec -it nginx-6c5778576c-4hxkj -c nginx2 -- bash
root@nginx-6c5778576c-4hxkj:/# 
root@nginx-6c5778576c-4hxkj:/# df -h
Filesystem      Size  Used Avail Use% Mounted on
overlay          26G  8.2G   18G  32% /
tmpfs            64M     0   64M   0% /dev
tmpfs           1.5G     0  1.5G   0% /sys/fs/cgroup
/dev/sda3        26G  8.2G   18G  32% /mnt
shm              64M     0   64M   0% /dev/shm
tmpfs           2.9G   12K  2.9G   1% /run/secrets/kubernetes.io/serviceaccount
tmpfs           1.5G     0  1.5G   0% /proc/acpi
tmpfs           1.5G     0  1.5G   0% /proc/scsi
tmpfs           1.5G     0  1.5G   0% /sys/firmware
root@nginx-6c5778576c-4hxkj:/# cd /mnt
root@nginx-6c5778576c-4hxkj:/mnt# ls
test.txt
root@nginx-6c5778576c-4hxkj:/mnt# cat test.txt 
aaaaaaaaaaaaa

在容器nginx的/opt目录中写入文件test.txt

在容器nginx2的/mnt目录中看到写入的test.txt文件

验证2:

容器nginx2追加内容

root@nginx-6c5778576c-4hxkj:/mnt# echo "bbbbbbbbbbbbbbbbbbbbbbbb" >>test.txt 

容器nginx查看内容

root@nginx-6c5778576c-4hxkj:/opt# cat test.txt 
aaaaaaaaaaaaa
bbbbbbbbbbbbbbbbbbbbbbbb

 9.3  Volumes HostPath挂载宿主机路径

Kubernetes是一种用于管理容器化应用程序的开源平台。在Kubernetes中,Pod是最小的可部署单元,可以包含一个或多个容器。每个Pod都有自己的IP地址,可以使用它来与其他Pod进行通信。Pod可以挂载一个或多个卷来存储应用程序数据。其中一个卷类型是HostPath,它允许Pod将宿主机上的文件或目录挂载到其容器中。

HostPath卷类型对于需要直接访问宿主机上的文件或目录的应用程序非常有用。例如,如果需要访问宿主机上的日志文件或配置文件,可以使用HostPath挂载这些文件。但是,使用HostPath也存在一些安全风险,因为它允许Pod访问宿主机上的文件系统。

警告:HostPath 卷存在许多安全风险,最佳做法是尽可能避免使用 HostPath。 当必须使用 HostPath 卷时,它的范围应仅限于所需的文件或目录,并以只读方式挂载。如果通过 AdmissionPolicy 限制 HostPath 对特定目录的访问,则必须要求 volumeMounts 使用 readOnly 挂载以使策略生效。

一般不推荐使用。

vim  nginx-deploy_1205_emptydir.yaml 

apiVersion: apps/v1
kind: Deployment
metadata:labels:app: nginxname: nginx
spec:replicas: 2 #副本数selector:matchLabels:app: nginxstrategy:rollingUpdate:maxSurge: 25%maxUnavailable: 25%type: RollingUpdatetemplate:metadata:creationTimestamp: nulllabels:app: nginxspec:containers:- image: registry.cn-beijing.aliyuncs.com/dotbalo/nginx:1.15.12imagePullPolicy: IfNotPresentname: nginxresources: {}terminationMessagePath: /dev/termination-logterminationMessagePolicy: File# ports:# - containerPort: 8080#   name: nginx-port#   protocol: TCPvolumeMounts:- mountPath: /optname: share-volume- mountPath: /etc/timezonename: timezone - mountPath: /tmp/name: tmp- image: registry.cn-beijing.aliyuncs.com/dotbalo/nginx:1.15.12imagePullPolicy: IfNotPresentname: nginx2command:- sh- -c- sleep 1200resources: {}terminationMessagePath: /dev/termination-logterminationMessagePolicy: File# ports:# - containerPort: 8090#   name: nginx2-port#   protocol: TCPvolumeMounts:- mountPath: /mntname: share-volume- mountPath: /etc/timezonename: timezone dnsPolicy: ClusterFirstrestartPolicy: AlwaysschedulerName: default-schedulersecurityContext: {}terminationGracePeriodSeconds: 30volumes: - name: share-volumeemptyDir: {}#medium: Memory- name: timezonehostPath:path: /etc/timezonetype: File- name: tmphostPath:path: /tmptype: Directory

增加如下部分配置:挂载文件、挂载目录

验证:

kubectl replace -f nginx-deploy_1205_emptydir.yaml 

[root@k8s-master01 ~]# kubectl get pod
NAME                                READY   STATUS        RESTARTS      AGE
busybox                             0/1     Unknown       0             105d
nginx-5b95587595-m2fl9              2/2     Running       0             12s
nginx-5b95587595-x4zhm              2/2     Running       0             14s
nginx-6c5778576c-4hxkj              2/2     Terminating   1 (30m ago)   90m
nginx-6c5778576c-b64sf              2/2     Terminating   1 (30m ago)   90m
nginx-deployment-7f65cbfc84-2npk5   1/1     Running       1 (35d ago)   93d
nginx-deployment-7f65cbfc84-4hlpt   1/1     Running       1 (35d ago)   93d
nginx-deployment-7f65cbfc84-dmgfx   1/1     Running       1 (35d ago)   93d
nginx-deployment-7f65cbfc84-p2dfr   1/1     Running       1 (35d ago)   93d
nginx-deployment-7f65cbfc84-zkld4   1/1     Running       1 (35d ago)   93d[root@k8s-master01 ~]# kubectl exec -it nginx-5b95587595-m2fl9 -c nginx -- bashroot@nginx-5b95587595-m2fl9:/# df -h
Filesystem      Size  Used Avail Use% Mounted on
overlay          26G   10G   17G  39% /
tmpfs            64M     0   64M   0% /dev
tmpfs           1.5G     0  1.5G   0% /sys/fs/cgroup
/dev/sda3        26G   10G   17G  39% /opt
shm              64M     0   64M   0% /dev/shm
tmpfs           2.9G   12K  2.9G   1% /run/secrets/kubernetes.io/serviceaccount
tmpfs           1.5G     0  1.5G   0% /proc/acpi
tmpfs           1.5G     0  1.5G   0% /proc/scsi
tmpfs           1.5G     0  1.5G   0% /sys/firmwareroot@nginx-5b95587595-m2fl9:/# cd tmp
root@nginx-5b95587595-m2fl9:/tmp# ls 
sys.log
#宿主机增加sys2.log文件
root@nginx-5b95587595-m2fl9:/tmp# ls
runc-process2653599717	sys.log  sys2.log
#查看/etc/timezone文件
root@nginx-5b95587595-m2fl9:/tmp# cat /etc/timezone 
Asia/Shanghai

 

9.4 挂载NFS至容器

 master01 安装nfs软件

yum -y install nfs-utils rpcbind

宿主机node01(ip:192.168.42.244)安装nfs服务器

yum -y install nfs-utils rpcbindsystemctl restart nfs-server[root@k8s-node01 ~]# vim /etc/exports/mnt/ 192.168.0.0/16(rw,sync,no_subtree_check,no_root_squash)
/opt/ 192.168.0.0/16(rw,sync,no_subtree_check,no_root_squash)#重新加载配置文件
[root@k8s-node01 ~]# exportfs -rv
exporting 192.168.0.0/16:/opt
exporting 192.168.0.0/16:/mnt[root@k8s-node01 ~]# systemctl reload nfs-server#查看共享目录
[root@k8s-node01 ~]# showmount -e localhost
Export list for localhost:
/opt 192.168.0.0/16
/mnt 192.168.0.0/16

master01验证node01 nfs server是否正常

[root@k8s-master01 mnt]# mkdir data
[root@k8s-master01 mnt]# mount -t nfs 192.168.42.244:/mnt /mnt/data/
[root@k8s-master01 mnt]# df -h
Filesystem           Size  Used Avail Use% Mounted on
devtmpfs             1.5G     0  1.5G   0% /dev
tmpfs                1.5G     0  1.5G   0% /dev/shm
tmpfs                1.5G  153M  1.4G  11% /run
tmpfs                1.5G     0  1.5G   0% /sys/fs/cgroup
/dev/sda3             26G   10G   17G  39% /
/dev/sda1           1014M  171M  844M  17% /boot
。。。
192.168.42.244:/mnt   26G  7.8G   19G  30% /mnt/data
[root@k8s-master01 mnt]# ls /mnt/data/
node01.txt
[root@k8s-master01 mnt]# umount data
[root@k8s-master01 mnt]# 

开始测试:

在yaml文件增加如下2部分

vim nginx-deploy_1205_emptydir.yaml

apiVersion: apps/v1
kind: Deployment
metadata:labels:app: nginxname: nginx
spec:replicas: 2 #副本数selector:matchLabels:app: nginxstrategy:rollingUpdate:maxSurge: 25%maxUnavailable: 25%type: RollingUpdatetemplate:metadata:creationTimestamp: nulllabels:app: nginxspec:containers:- image: registry.cn-beijing.aliyuncs.com/dotbalo/nginx:1.15.12imagePullPolicy: IfNotPresentname: nginxresources: {}terminationMessagePath: /dev/termination-logterminationMessagePolicy: File# ports:# - containerPort: 8080#   name: nginx-port#   protocol: TCPvolumeMounts:- mountPath: /optname: share-volume- mountPath: /etc/timezonename: timezone - mountPath: /tmp/name: tmp- image: registry.cn-beijing.aliyuncs.com/dotbalo/nginx:1.15.12imagePullPolicy: IfNotPresentname: nginx2command:- sh- -c- sleep 1200resources: {}terminationMessagePath: /dev/termination-logterminationMessagePolicy: File# ports:# - containerPort: 8090#   name: nginx2-port#   protocol: TCPvolumeMounts:- mountPath: /mntname: share-volume- mountPath: /etc/timezonename: timezone - mountPath: /tmpname: nfsdnsPolicy: ClusterFirstrestartPolicy: AlwaysschedulerName: default-schedulersecurityContext: {}terminationGracePeriodSeconds: 30volumes: - name: share-volumeemptyDir: {}#medium: Memory- name: timezonehostPath:path: /etc/timezonetype: File- name: tmphostPath:path: /tmptype: Directory- name: nfsnfs: server: 192.168.42.244path: /mnt
[root@k8s-master01 ~]# kubectl replace -f nginx-deploy_1205_emptydir.yaml 
deployment.apps/nginx replaced[root@k8s-master01 ~]# kubectl exec -it nginx-679784694b-g45v7 -c nginx2 -- bash
root@nginx-679784694b-g45v7:/# df -h
Filesystem           Size  Used Avail Use% Mounted on
overlay               26G  7.8G   19G  30% /
tmpfs                 64M     0   64M   0% /dev
tmpfs                1.5G     0  1.5G   0% /sys/fs/cgroup
/dev/sda3             26G  7.8G   19G  30% /mnt
192.168.42.244:/mnt   26G  7.8G   19G  30% /tmp
shm                   64M     0   64M   0% /dev/shm
tmpfs                2.9G   12K  2.9G   1% /run/secrets/kubernetes.io/serviceaccount
tmpfs                1.5G     0  1.5G   0% /proc/acpi
tmpfs                1.5G     0  1.5G   0% /proc/scsi
tmpfs                1.5G     0  1.5G   0% /sys/firmware

http://www.hrbkazy.com/news/21657.html

相关文章:

  • 网站如何加速今日早间新闻
  • 汇点远程app下载安装郑州seo代理公司
  • 照着别人网站做网页优化公司
  • 专业网站建设的公司苏州seo营销
  • 做淘宝客怎么建网站诊断网站seo现状的方法
  • 电子商务系统建设网站策划书百度推广关键词技巧定价
  • 大型的营销型网站建设淘宝宝贝关键词排名查询工具
  • 网站模板的制作怎么做湖南seo排名
  • 网站目录改版如何301跳转呀重庆seo技术
  • 大理市政府建设办网站麒麟seo
  • 二手网站哪些做的比较好谷歌seo推广
  • 网站开发php和ui百度排行榜明星
  • 健身器械网站建设案例公司企业员工培训
  • 做公众号主页面的有哪些网站电商项目策划书
  • 成都网站设计报告书头条权重查询站长工具
  • 做国外网站网站seo网络优化
  • 360做网站经常打骚扰电话seo优化6个实用技巧
  • 武汉做网站小程序哪家公司好制作网页用什么软件
  • 如何做淘宝直播教学视频网站杭州百度快照优化公司
  • 天津b2b网站建设公司哪家好宁波seo关键词培训
  • 电商网站的建设的主要目的seo官网
  • 营销型网站建设教学seo外链工具源码
  • 国家电力安全网站两学一做上海seo优化公司
  • 盘锦做网站价格学营销app哪个更好
  • 国内十大网站建设品牌南昌网站设计
  • H5响应式网站数据百度投诉中心电话24个小时
  • 做音乐网站代码如何在百度发布文章
  • 有人做网站推广吗网站内容优化方法
  • 政府网站建设领导讲话稿百度平台我的订单查询在哪里
  • 长沙做网站最好的公司有哪些军事新闻