美文网首页
k8s 对应用程序依赖项的应答

k8s 对应用程序依赖项的应答

作者: Firetheworld | 来源:发表于2020-06-02 17:10 被阅读0次

我们在k8s中部署中间件应用,会遇到中间件的依赖关系,例如:我们在部署 kafka 以及 zookeeper 中,需要先启动 zookeeper,后启动 kafka 。我们要确保 zookeeper 启动后, kafka 在启动。

解决方案:在 kafka 的部署中,增加 zookeeper 的服务检测机制,确保 zookeep 启动后,在启动 kafka

使用案例如下:

kind: Deployment
apiVersion: extensions/v1beta1
metadata:
  name: kafka
spec:
  replicas: 1
  selector:
    matchLabels:
      name: kafka
  template:
    metadata:
      labels:
        name: kafka
        app: kafka
    spec:
      containers:
      - name: kafka
        image: wurstmeister/kafka
        imagePullPolicy: IfNotPresent
        ports:
        - containerPort: 9092
        env:
        - name: KAFKA_ADVERTISED_PORT
          value: "9092"
        - name: KAFKA_ADVERTISED_HOST_NAME
          value: "[kafka的service的clusterIP]"
        - name: KAFKA_ZOOKEEPER_CONNECT
          value: [zookeeper的service的clusterIP]:2181
        - name: KAFKA_BROKER_ID
          value: "1"
      initContainers:
        - name: init-redis
          image: busybox:1.31
          command: ['sh', '-c', 'until nslookup redis-server; do echo waiting for redis; sleep 2; done;']

---
apiVersion: v1
kind: Service
metadata:
  name: kafka-service
  labels:
    app: kafka
spec:
  type: NodePort
  ports:
  - port: 9092
    name: kafka-port
    targetPort: 9092
    nodePort: 30092
    protocol: TCP
  selector:
    app: kafka

上面这一示例定义了一个 init container,通过 nslookup 检查 zookeeper 服务是否成功启动,检测到 zookeeper 启动了之后,域名解析也就会成功,然后启动 kafka

相关文章

  • k8s 对应用程序依赖项的应答

    我们在k8s中部署中间件应用,会遇到中间件的依赖关系,例如:我们在部署 kafka 以及 zookeeper 中,...

  • webapck摇树优化(tree shaking)

    概念 摇树是一种消除死代码的方法,应用程序的依赖项是树状结构,树的每个节点都代表了一个依赖项,这些依赖项为应用程序...

  • ImageAI的安装

    依赖 在应用程序开发中使用ImageAI之前必须安装以下依赖项: python (使用3.7.7,不要使用pyth...

  • SpringBoot 2.0 系列(三):流程详解(下)

    自动配置 Spring Boot自动配置尝试根据添加的jar依赖项自动配置Spring应用程序。例如,如果HSQL...

  • Kubernetes的API对象描述

    API对象是K8s集群中的管理操作单元。K8s集群系统每支持一项新功能,引入一项新技术,一定会新引入对应的API对...

  • Ionic简单开始

    现在你已经安装了Ionic和它的依赖项,你可以建立你的第一个应用程序!本部分将引导您完成启动新应用程序,添加页面,...

  • 查看模块依赖项,自定义构建逻辑

    查看模块依赖项 一些直接依赖项可能具有自己的依赖项。此类依赖项称为“传递依赖项”。Gradle 将会自动为您收集并...

  • http 协议和 web 应用有状态和无状态

    1、什么是 Web 应用程序的无状态性?说基于 http 协议的 web 应用程序是请求——应答模式是无状态的,我...

  • 第11章 Kubernetes平台中日志收集

    一.收集哪些日志 • K8S系统的组件日志• K8S Cluster里面部署的应用程序日志 二.日志方案 三.容器...

  • ASP.NET MVC目录结构

    写在前头的废话 默认情况下,ASP.NET MVC应用程序对约定的依赖性很强。这样就避免了开发人员配置和指定一些项...

网友评论

      本文标题:k8s 对应用程序依赖项的应答

      本文链接:https://www.haomeiwen.com/subject/ekpjzhtx.html