生产解决方案:kubernetes容器挂载

需求

在使用kubernetes对docker镜像进行编排管理时,时长遇到如何把k8s的pod中某一个文件挂载出来,具体到个人实际问题中:在文件上传到主机需求中,目前已经实现根据上传文件路径自动创建对应文件夹路径

---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: ct-reservoir-videos
spec:
  selector:
    matchLabels:
      app: ct-reservoir-videos
  replicas: 1
  template:
    metadata:
      labels:
        app: ct-reservoir-videos
    spec:
      nodeName: node01
      containers:
        - name: ct-reservoir-videos
          image: ct-reservoir-videos:0.2.2
          imagePullPolicy: IfNotPresent
          ports:
            - containerPort: 9911
          volumeMounts:  # 将logs-volume挂在到容器中,对应的目录为 /user
            - name: user-volume
              mountPath: /usr/photos
          env:
            - name: CHITAN_ENV
              value: "chitan-pro"
      volumes:
      - name: user-volume
        hostPath: 
          path: /data/opt
          type: DirectoryOrCreate  # 目录存在就使用,不存在就先创建后使用
---
apiVersion: v1
kind: Service
metadata:
  name: ct-reservoir-videos
spec:
  type: NodePort
  ports:
    - port: 9911
      targetPort: 9911
      #nodePort: 32017
      protocol: TCP
      name: http
  selector:
    app: ct-reservoir-videos
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: ct-reservoir-videos
  annotations:
    kubernetes.io/ingress.class: "nginx"
    nginx.ingress.kubernetes.io/use-regex: "true"
    nginx.ingress.kubernetes.io/proxy-body-size: "20m"
    nginx.ingress.kubernetes.io/rewrite-target: /$2
spec:
  rules:
    #- host: miva.xiaohua99.cn
    - http:
        paths:
          - path: /ct-reservoir-videos(/|$)(.*)
            backend:
              serviceName: ct-reservoir-videos
              servicePort: 9911
---
  • 10
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Kubernetes,也称为K8s,是一个开放源代码系统,用于跨多个主机管理容器化的应用程序。 Kubernetes 是用于自动部署,扩展和管理容器化应用程序的开源系统。 它将组成应用程序的容器组合成逻辑单元,以便于管理和服务发现。Kubernetes 源自Google 15 年生产环境的运维经验,同时凝聚了社区的最佳创意和实践。 Kubernetes 是一个开源的容器编排引擎,用来对容器化应用进行自动化部署、 扩缩和管理。该项目托管在 CNCF。 Kubernetes 特性: 自动化上线和回滚 Kubernetes 会分步骤地将针对应用或其配置的更改上线,同时监视应用程序运行状况以确保你不会同时终止所有实例。如果出现问题,Kubernetes 会为你回滚所作更改。你应该充分利用不断成长的部署方案生态系统。 服务发现与负载均衡 无需修改你的应用程序即可使用陌生的服务发现机制。Kubernetes容器提供了自己的 IP 地址和一个 DNS 名称,并且可以在它们之间实现负载均衡。 服务拓扑(Service Topology) 基于集群拓扑的服务流量路由。 存储编排 自动挂载所选存储系统,包括本地存储、诸如 GCP 或 AWS 之类公有云提供商所提供的存储或者诸如 NFS、iSCSI、Gluster、Ceph、Cinder 或 Flocker 这类网络存储系统。 Secret 和配置管理 部署和更新 Secrets 和应用程序的配置而不必重新构建容器镜像,且 不必将软件堆栈配置的秘密信息暴露出来。 自动装箱 根据资源需求和其他约束自动放置容器,同时避免影响可用性。将关键性工作负载和尽力而为性质的服务工作负载进行混合放置,以提高资源利用率并节省更多资源。 批量执行 除了服务之外,Kubernetes 还可以管理你的批处理和 CI 工作负载,在期望时替换掉失效的容器。 IPv4/IPv6 双协议栈 为 Pod 和 Service 分配 IPv4 和 IPv6 地址 水平扩缩 使用一个简单的命令、一个 UI 或基于 CPU 使用情况自动对应用程序进行扩缩。 自我修复 重新启动失败的容器,在节点死亡时替换并重新调度容器,杀死不响应用户定义的健康检查的容器,并且在它们准备好服务之前不会将它们公布给客户端。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值