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

网站管理维护怎么做wordpress调用php文件

网站管理维护怎么做,wordpress调用php文件,南宁网络推广培训机构,小说wordpress主题编辑#xff1a;小君君技术校对#xff1a;星空下的文仔、bot在 Kubernetes 中#xff0c;ConfigMap 是允许管理员将配置组件与镜像内容解耦#xff0c;使容器化应用程序产生可移植性的一种资源。ConfigMap 可以与 Kubernetes Pod 一起使用#xff0c;用于动态添加或更改容… 编辑小君君技术校对星空下的文仔、bot在 Kubernetes 中ConfigMap 是允许管理员将配置组件与镜像内容解耦使容器化应用程序产生可移植性的一种资源。ConfigMap 可以与 Kubernetes Pod 一起使用用于动态添加或更改容器中的使用文件。本文将阐述 Kubernetes ConfigMap 如何利用动态应用程序的方法来解决轻量级文件服务器部署到 Kubernetes 集群中的问题。通过阅读本文你将获得ConfigMap 概览配置 ConfigMap 的注意事项ConfigMap 资源用于动态应用程序实践。ConfigMap 概览生产环境中很多应用程序的配置可能需要通过配置文件、命令行参数和环境变量的组合来完成。这些配置应该从镜像中解耦通过这种方式来保持容器化应用程序的可移植性。在 Kubernetes 1.2 版本以后研发人员引入 ConfigMap 来处理这种类型的配置数据。简单来说ConfigMap 是容器的配置管理。在容器运行时ConfigMap 把配置文件、命令行参数、环境变量、端口号和其他配置组件绑定到 Pod 的容器和系统组件上同时将应用的代码和配置区分开。从数据角度来看ConfigMap 的类型只是键值对。从应用角度来看管理员可以从不同角度来配置它。在 Pod 中使用 ConfigMap 大致有以下三种方式将 ConfigMap 中的数据设置为环境变量将 ConfigMap 中的数据设置为命令行参数将 ConfigMap 作为文件或目录挂载。另外由于应用会从环境变量和包含配置数据的文件中读取配置信息所以 ConfigMap 是可以支持这两种读取方式的。创配置 ConfigMap 的注意事项众所周知ConfigMap 与 Secret 很相似。但是ConfigMap 主要用来存储和共享非敏感、未加密的配置信息。Secret 是用来存储敏感信息(例如密码)。除了这个大家都了解的注意事项外在配置 ConfigMap 时还要注意以下 4 点ConfigMap 必须在被 Pod 使用之前创建Pod 只能使用在同一 Namespace 中的 ConfigMapConfigMap 大小的配额是一个已经设置好的功能Kubelet 只支持 API 服务器中的 Pod 使用 ConfigMap。注API 服务器中的 Pod 包括用 Kubectl 创建的 Pod、间接通过 replication controller 创建的 Pod不包括通过 Kubelet 的 –manifest-url 标志创建的 Pod也不包括从它的 REST API 创建的 Pod。ConfigMap 用于动态应用程序的实践 需要解决的问题 作为 Kubernetes 安装程序的一部分很多人希望可以将轻量级文件服务器部署到 Kubernetes 集群中以此处理默认(root - path)入口请求。并且我认为如果我们可以编辑 index.html 和 CSS 文件而不必重新部署应用程序。为了解决这个用例我们决定构建一个 Golang 应用程序将其部分文件系统映射到 Kubernetes ConfigMap 资源中。 Golang Fileserver 文件服务器应用程序的设计非常简单它仅用于提供静态内容。这种方式可以帮助 Kubernetes 用户使用入口功能。package main import ( “log” “net/http” ) func main() { fs : http.FileServer(http.Dir(“html”)) http.Handle(“/”, fs) log.Println(“Listening…”) http.ListenAndServe(“:8080”, nil) }应用程序使用以下 Dockerfile 内容构建容器镜像。它是一个两阶段的 Dockerfile首先在 Alpine 容器中执行 Golang 构建然后将已编译的二进制和空 helm 目录复制到最终的 scratch-based 镜像上。# build stage   FROM golang:alpine AS builder   WORKDIR /usr/local/go/src   COPY  main.go .   RUN CGO_ENABLED0 GOOSlinux go build -o main .   # final stage   FROM scratch   WORKDIR /   COPY --frombuilder /usr/local/go/src/main main   COPY html html   EXPOSE 8080   ENTRYPOINT [/main]在 Golang 应用程序中使用 scratch 容器来部署 Golang 容器是一种更安全、更轻量级的方法。 部署和运行 我使用 make 来自动化 Docker 操作。以下是此应用程序的 Makefile 。VERSION 0.0.1   NAME“ingress-default”   AUTHOR“Jimmy Ray”   PORT_EXT 8080   PORT_INT 8080     NO_CACHE true   .PHONYbuild run stop clean   build   docker build -f scratch.dockerfile.-t $(NAME)\$(VERSION) -  no-cache $(NO_CACHE) run   docker   run --name $(NAME)-d -p $(PORT_EXT)$(PORT_INT)$(NAME) \$(VERSION) docker ps -a --format“{{.ID}} \ t {{.Names}}”| grep $(NAME)   stop   docker rm $$(docker stop $$(docker ps) -a -q --filter“ancestor $(NAME)$(VERSION)” -  format “{{.ID}}”))   clean   rm -f main   DEFAULTbuild我们可以使用 make  消除重复任务之间的可变性。有了上述的 Makefile在将测试的应用程序部署到 Kubernetes 之前我们可以在 Docker 中构建和运行应用程序。 配置 Kubernetes 对于此解决方案我们需要配置 Kubernetes Namespace、ConfigMap、Deployment、Service 和 Ingress。我们通过使用 kubectl apply -f 的方法来完成此操作(这是对 Kubernetes 集群资源应用更改的声明式方法)。下面是我们将 munge 的 Kubernetes 资源的 YAML 文件。apiVersion: v1   kind: Namespace   metadata:    name: ingress-default  labels:      app: ingress-default   ---   kind: ConfigMap   apiVersion: v1   metadata:    name: ingress-default-static-files    namespace: ingress-default    labels:      app: ingress-default   data:    index.html: |                                        Cluster Ingress Index                                                              Kubernetes Platform                                                                        Cluster Ingress Index                                                                                                                                             The following are links to this clusters ingress resources:                                                                                                Root IngressOther Ingress                                                                                      main.css: |      body {        background-color: rgb(224,224,224);        font-family: Verdana, Arial, Helvetica, sans-serif;        font-size: 100%;      }      .class1 {    ...    }      .class2 {    ...    }      .class3 {    ...    }      .class4 {       ...    }   ---   apiVersion: apps/v1   kind: Deployment   metadata:    labels:      app: ingress-default    name: ingress-default    namespace: ingress-default spec:    selector:      matchLabels:        app: ingress-default    replicas: 1    template:      metadata:        labels:          app: ingress-default          name: ingress-default      spec:        containers:          - name: ingress-default            image:            imagePullPolicy: Always            resources:              limits:                cpu: 100m                memory: 10Mi              requests:                cpu: 100m                memory: 10Mi            volumeMounts:              - readOnly: true                mountPath: html                name: html-files        volumes:          - name: html-files            configMap:              name: ingress-default-static-files   ---   kind: Service   apiVersion: v1   metadata:    name: ingress-default    namespace: ingress-default    labels:      app: ingress-default   spec:    selector:      app: ingress-default    ports:    - name: http      protocol: TCP      port: 80      targetPort: 8080   ---   apiVersion: extensions/v1beta1   kind: Ingress   metadata:    name: default-ingress    namespace: ingress-default    annotations:      nginx.ingress.kubernetes.io/rewrite-target: /      kubernetes.io/ingress.class: nginx      labels:      app: ingress-default   spec:    rules:    - http:        paths:        - path: /          backend:            serviceName: ingress-default            servicePort: 80正如在 YAML 中的ingress-default-static-files 我们可以知道ConfigMap 包含index.html 和 main.css 文件的内容。通过编辑或替换此 ConfigMap我们可以更改在 Golang 文件服务器应用程序中的文件。 使用 ConfigMap 作为卷 在 Docker 和 Kubernetes 的中卷用于解决两个问题需要持久化的文件系统需要在容器之间共享的文件系统。现在我们将已部署在容器中的卷映射到 ConfigMap 资源中。在下面的代码段中被配置的 html-files 卷可能被 Pod 中的所有容器使用。卷会将数据配置映射到 ConfigMap 中的 ingress-default-static-files 上。...volumes:       - name: html-files         configMap:           name: ingress-default-static-files…在 Pod 级别配置卷后我们将配置的卷装入容器中。将此卷的挂载映射到在 Pod 中配置的 html-files 卷上。通过此映射应用程序容器现在可以访问 ConfigMap 中的两个文件html/index.html 和 html/mian.css。...volumeMounts:       - readOnly: true         mountPath: html         name: html-files当在 Kubernetes 集群中启动 Golang 应用程序时ingress-default 会在 NGINX 入口控制器中配置上游规则。生成的路径将通过 NGINX 入口控制器将集群边缘连接到ingress-default 服务上。此服务指向 Golang 文件服务的 app Pod 中。在运行时它为 ingress 控制器的根路径上的默认 Web 应用程序提供服务。如果需要更改此网页我们只需要 edit/replace ConfigMap。 结语 容器编排的一个关键好处是它承诺消除多个容器工作负载所需的“无差异的繁重工作”。通过使用 Kubernetes 声明性配置功能(如 ConfigMap)可以提高应用程序部署和更改集群状态的效率与速度。我们通过将 ConfigMap 资源作为已安装的卷使用正在运行的容器可以从容器中抽象配置和内容减少对镜像重构和重新部署容器的需求。今天的技术实践分享就到这里了。小伙伴们社区后续还会分享更多关于 ConfigMap 与 Secret 的实践教程哦。敬请期待吧参考文献1.https://medium.com/capital-one-tech/using-kubernetes-configmap-resources-for-dynamic-apps-9e23ef5891212.https://blog.csdn.net/sjyu_ustc/article/details/80463713 END推荐阅读3 小时入门 Kubernetes容器编排详细指南(上)K8S 网络插件(CNI)超过 10Gbit/s 的基准测试结果KubeCon 直击etcd 正式成为 CNCF 孵化项目K8S 1.13 重磅发布|全面解读 20 个重大功能更新Envoy 成为 CNCF 第三个毕业项目网易云不同场景 K8S 网络实践方案KubeCon 中国首秀|全面解读 7 大 Keynote 带你看穿 K8S 新时代当当网专家详述如何利用 K8S 构建自主可控的 FaaS 平台深入理解 K8S APIServer 运行时及代码重构我怎么这么好看
http://www.zqtcl.cn/news/867928/

相关文章:

  • 创意营销策划案例网站网页制作及优化
  • 网站上动画视频怎么做的建设兵团12师教育局网站
  • 博客网站开发思维导图app网站制作公司
  • 池州网站建设有哪些公司兴义网站seo
  • seo优化网站模板网站建设的七大优缺点
  • 天猫国际采取的跨境电商网络营销方式关键词排名优化公司推荐
  • 亳州建设网站做网站文字怎么围绕图片
  • 网站开发 项目计划外链建设给网站起的作用
  • 你好南京网站网站开发实施步骤和说明
  • 文化共享工程网站建设情况wordpress菠菜插件
  • 网站大气是什么意思哈尔滨做网站电话
  • 公司网站站群是什么化妆品网站设计欣赏
  • 网站公司未来计划ppt怎么做平潭做网站
  • 做网站和推广工资多少招聘网站建设价格
  • 网站建设 响应式 北京网架公司十大排名榜
  • 网站推广目标关键词是什么意思网站推广软件工具
  • 哪里可以做免费的物流网站wordpress为什么放弃
  • 做网站需要多少钱 都包括什么高端大气的网站首页
  • 黄石做网站联系最近的国际新闻
  • 网站建设与运营的预算方案淘宝禁止了网站建设类
  • 做网站的顺序编写app的软件
  • 站长联盟个人网站不备案
  • 惠州建设工程交易网站网站服务器失去响应
  • 网站下拉广告iphone app wordpress
  • 网站图片怎样做seo优化如何重新安装wordpress
  • python做网站源码长沙建设网站制作
  • wordpress调用分类的所有子目录龙岩seo公司首荐3火星
  • 聊城市建设工程质量监督站网站wordpress 头部
  • 低价郑州网站建设wordpress是外网吗
  • 互联网门户网站有哪些win10优化大师是官方的吗