kubectl当我使用命令应用部署文件时,我想将参数传递给 Kubernetes 部署。
示例:在我的部署 .yaml 中,我有如下参数,我想在运行时传递参数值kubectl apply - f <my-deployment>.yaml
因此,在下面的示例中,我想在运行上述 kubectl 命令时覆盖 args - userid 和 role。
spec:
containers:
- name: testimage
image: <my image name>:<tag>
args:
- --userid=testuser
- --role=manager
Run Code Online (Sandbox Code Playgroud) 我正在使用舵图在kubernetes上部署我的应用程序。但是我在堆栈中使用的服务取决于其他服务,如何确保在依赖关系建立之前不会部署头盔?
dependencies kubernetes devops kubernetes-helm kubernetes-deployment
我被问到了这个问题,但我找不到在线信息-Kubernetes使用哪种算法来导航Podset或部署中的Pod或部署中的流量(我想它们是相同的)?
可以说,我的Kubernetes集群中有5个Pod的副本,在副本集中定义。集群如何在新请求中选择要转到哪个吊舱?它使用轮询吗?我找不到有关它的信息。
我知道可以使用以下命令将文件/文件夹复制到容器中:
kubectl cp /tmp/foo_dir <some-pod>:/tmp/bar_dir
Run Code Online (Sandbox Code Playgroud)
但是,我希望在 yaml 文件中执行此操作
我该怎么做呢?(假设我正在为容器使用部署)
我尝试将 HPA 与外部指标结合使用,将部署规模缩减至 0。我使用的 GKE 版本为 1.16.9-gke.2。
据此,我认为它会起作用,但事实并非如此。我仍然面临:The HorizontalPodAutoscaler "classifier" is invalid: spec.minReplicas: Invalid value: 0: must be greater than or equal to 1
以下是我的 HPA 定义:
apiVersion: autoscaling/v2beta1
kind: HorizontalPodAutoscaler
metadata:
name: classifier
spec:
minReplicas: 0
maxReplicas: 15
metrics:
- external:
metricName: loadbalancing.googleapis.com|https|request_count
targetAverageValue: "1"
type: External
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: classifier
Run Code Online (Sandbox Code Playgroud)
非常感谢你的帮助 !
autoscaling kubernetes google-kubernetes-engine kubernetes-deployment hpa
如果我的部署仅定义了一个副本,我能否确保只有一个 pod 正在运行?
我注意到,当我kubectl rollout在很短的时间内执行类似操作时,我会在日志中看到两个 Pod。
我有几个状态集,一个依赖于另一个,在第二个状态集开始缩放之前,我需要第一个状态集中的Pod处于就绪状态。
我想看看是否有一种方法可以自动链接两个有状态集以实现此目的,而不是由我手动完成。我对部署也有同样的担忧。
目前,我不使用Helm或任何其他工具,而只是使用kubectl。
kubernetes ×7
kubectl ×2
autoscaling ×1
containers ×1
dependencies ×1
devops ×1
docker ×1
hpa ×1
replicaset ×1