在Windows的minikube上,我在kubernetes集群上创建了一个部署,然后尝试通过将副本从1更改为2来扩展规模,然后挂起kubectl,磁盘使用率为100%。 我的部署中只有一个容器
apiVersion: apps/v1
kind: Deployment
metadata:
name: first-deployment
spec:
replicas: 1
selector:
matchLabels:
run: app
template:
metadata:
labels:
run: app
spec:
containers:
- name: demo
image: ner_app
imagePullPolicy: IfNotPresent
ports:
- containerPort: 5000
在Pod成功部署并运行之后,我所做的就是运行
kubectl scale --replicas=2 deployment first-deployment
在另一个终端中,我正在使用
kubectl get pods --watch
但是一切都没有反应,我不确定如何从中恢复。
当我再次运行kubectl get pods
时,它会显示以下消息
PS D:\docker\ner> kubectl get pods
Unable to connect to the server: net/http: TLS handshake timeout
是否有恢复或取消正在运行的进程的方法?
我的VM也在Windows 10 Pro的Hyper-V(minikube和Docker Desktop)上都分配了默认RAM-2048MB
我的吊舱中的容器是一个机器学习过程,它加载的模型可能很大,约为200MB至300MB
答案 0 :(得分:3)
您可能有一些代理问题。尝试以下命令:
$ unset http_proxy
$ unset https_proxy
并重复您的kubectl调用。
答案 1 :(得分:2)
您可以在部署上设置资源limits,以便Pod不会使用节点中的全部可用资源。
答案 2 :(得分:2)
就我而言,我有我的私有EKS群集,安全组中没有启用443(HTTPS)。
在安全组中启用(HTTPS)443端口后,我的问题得到解决。
请参阅AWS文档以获取更多详细信息:“您必须确保您的Amazon EKS控制平面安全组包含允许来自已连接网络的端口443上的入口流量的规则”