1

我已经设置了下面的设置 - 所以在谷歌云上部署了一个简单的复制控制器,服务和一个https部署的kubernetes。如何暂停kubernetes服务

我需要杀掉我的应用程序,以便我可以测试我的堆栈其余部分如何反应 - 有什么好办法做到这一点?

我试过删除服务,但是当我重新创建它时,它不会接收后端服务(复制控制器和pod已创建,我可以在内部访问它们,但不通过入口 - 服务没看出来。

echo " 
apiVersion: v1 
kind: Service 
metadata: 
    name: nodeapp-https 
    labels: 
    app: nodeapp-https 
spec: 
    type: NodePort 
    ports: 
    - port: 80 
    targetPort: 8080 
    protocol: TCP 
    name: http 
    selector: 
    app: nodeapp-https 
--- 
apiVersion: v1 
kind: ReplicationController 
metadata: 
    name: nodeapp-https 
spec: 
    replicas: 1 
    template: 
    metadata: 
     labels: 
     app: nodeapp-https 
    spec: 
     containers: 
     - name: nodeapp-https 
     image: gcr.io/my-project/node-app:v84 
     ports: 
     - containerPort: 8080 
--- 
apiVersion: extensions/v1beta1 
kind: Ingress 
metadata: 
    name: nodeapp-httpss 
spec: 
    tls: 
    - secretName: node-app-secret 
    backend: 
    serviceName: nodeapp-https 
    servicePort: 80 
" | kubectl create -f - 

回答

4

您可以将副本次数设置为0,测试的持续时间。当你完成测试后,你会复制计数恢复到所需的数字,使您的应用程序备份

执行此操作的命令是

$ kubectl scale rc nodeapp-https --replicas=0 
... do your test 
$ kubectl scale rc nodeapp-https --replicas=1 
+0

谢谢,我必须尝试一下。 – Zlatko