【问题标题】:can I give hostname for each container in kubernetes我可以为 kubernetes 中的每个容器提供主机名吗
【发布时间】:2022-01-08 17:14:09
【问题描述】:
agent {
        kubernetes {
            yaml """
spec:
  
  containers:
  - name: abc
    image: myrepo/abc:v1.0
    tty: true
    command:
     - cat
    resources:
      requests:
        memory: "16Gi"
        cpu: "8000m"
      limits:
        memory: "64Gi"
        cpu: "8000m"
    securityContext:
      runAsGroup: 500
      runAsUser: 500
  - name: mssqldb
    image: myrepo/mssql:2019-latest
    tty: true
    readinessProbe:
      initialDelaySeconds: 10
      failureThreshold: 10
      periodSeconds: 3
      tcpSocket:
        port: 1433
    securityContext:
      runAsUser: 11001
      runAsGroup: 0
    resources:
      requests:
        memory: "4Gi"
        cpu: "4000m"
      limits:
        memory: "8Gi"
        cpu: "8000m"
"""
            defaultContainer 'abc'
            
        }
    }

我在我的管道中运行它,但我想做的是为每个容器设置一个主机名,因为容器能够相互通信,另外我想添加另一个容器作为客户端,它将尝试连接到作为 abc 容器的服务器。 当我在容器部分之前添加主机名时,我会为所有我没有真正得到的容器获得相同的主机名,除非它为主机提供一个主机名 luanching 容器(ps:当尝试使用主机名命令时,它会给出一个随机名称每次都会改变,除非我定义了主机名)

【问题讨论】:

    标签: docker jenkins kubernetes containers


    【解决方案1】:

    同一个 pod 中的容器可以使用 localhost 相互通信

    这是 Pod 内部的固定本地地址,不会更改,也不必设置

    因此,在您的示例中,地址“localhost:1443”可用于从任何其他容器与容器 mssqldb 通信

    【讨论】:

    • 如果我想要客户端服务器通信怎么办?而且我不确定客户端是否只有一个或多个端口用于连接服务器。此外,使用 localhost 通信客户端和服务器是不合逻辑的,我希望它们至少具有不同的 IP
    猜你喜欢
    • 2021-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多