小编Vas*_*pov的帖子

使用 Horizo​​ntal Pod Autoscaling 以及资源请求和限制

假设我们有以下部署:

apiVersion: apps/v1
kind: Deployment
metadata:
  ...
spec:
  replicas: 2
  template:
    spec:
      containers:
        - image: ...
          ...
          resources:
            requests:
              cpu: 100m
              memory: 50Mi
            limits:
              cpu: 500m
              memory: 300Mi
Run Code Online (Sandbox Code Playgroud)

我们还创建了一个HorizontalPodAutoscaler对象,它根据 CPU 平均利用率自动增加/减少 pod 的数量。我知道 HPA 将根据资源请求计算 Pod 的数量,但是如果我希望容器能够在水平扩展之前请求更多资源怎么办?

我有两个问题:

1)在定义 HPA 时,K8s是否甚至使用资源限制

2) 我可以告诉 HPA 根据资源限制而不是请求进行扩展吗?或者作为实现这种控制的一种方式,我可以将targetUtilization值设置为100% 以上吗?

horizontal-scaling kubernetes

6
推荐指数
2
解决办法
1642
查看次数

Kubernetes:“持久”端口转发

我使用私人在线服务器通过 kubernetes 设置 jenkins 环境。

我有以下服务文件:

apiVersion: v1
kind: Service
metadata:
  name: jenkins
  namespace: jenkins
spec:
  type: NodePort
  ports:
  - port: 8080
    targetPort: 8080
  selector:
    app: jenkins
Run Code Online (Sandbox Code Playgroud)

它有效,这意味着我可以从我的服务器获取 jenkins pod。但是我无法从本地计算机网络浏览器访问我的服务。

为此,我必须输入以下命令:

kubectl port-forward -n jenkins service/jenkins 8080:8080 --address=<localServerIp>
Run Code Online (Sandbox Code Playgroud)

我读过端口转发仅用于调试(kubectl 端口转发和 NodePort 服务之间的区别)。但我找不到如何将我的服务配置为在互联网上可见。我想要相当于持久端口转发的端口转发规则。

port web-services kubernetes

6
推荐指数
1
解决办法
9116
查看次数

端口转发正在工作,但无法从同一 GKE 集群中的其他 POD 访问该端口

我有一个 MQ 有状态集,公开了两个端口 1414(用于 TCP)和 9443(用于 HTTPS),并创建了 Loadbalancer 类型的服务。TCP 的 1414 工作正常,能够使用服务名称/集群 IP 从同一集群中的其他 POD 远程登录。也能够从 GKE 集群外部连接 1414。

\n\n

但问题是端口 9443 无法从集群内(服务名称/集群 IP)或集群外(外部 IP)的其他 POD 访问。当执行 POD 并在本地测试时,telnet 工作正常.. telnet 127.0.01 9443

\n\n

HTTPS 服务是否缺少任何配置。

\n\n

注意:端口转发工作正常并且能够连接到 API。kubectl 端口转发 svc/mq-qmdtest 9443:9443

\n\n

服务定义

\n\n
apiVersion: v1\nkind: Service\nmetadata:\n  name: {{.Values.name}}\n  namespace: {{.Values.namespace}}\n  annotations:\n    cloud.google.com/load-balancer-type: "Internal"\n  labels : \n    run: {{.Values.name}}\nspec:\n  type: LoadBalancer\n  loadBalancerIP: {{.Values.loadBalancerIP}}\n  ports:\n  - name: webui\n    port: 9443\n    protocol: TCP\n  - name: mq\n    port: 1414\n    protocol: TCP\n  selector:\n …
Run Code Online (Sandbox Code Playgroud)

kubernetes google-kubernetes-engine

4
推荐指数
1
解决办法
3087
查看次数