我的 Kubernetes 集群中的 2 个节点中有多个 pod。(请参见下文)。
有没有办法告诉我哪些是静态 Pod?(也许是某种kubectl命令?)
谢谢!
controlplane $ k get pods -A -o wide
NAMESPACE NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
kube-system coredns-f9fd979d6-h865q 1/1 Running 0 119s 10.244.0.5 node02 <none> <none>
kube-system coredns-f9fd979d6-z4j6f 1/1 Running 0 119s 10.244.1.5 node01 <none> <none>
kube-system etcd-a1b2k7h7 1/1 Running 0 2m9s 172.17.0.79 node02 <none> <none>
kube-system kube-apiserver-g8j4k8o8 1/1 Running 0 2m9s 172.17.0.79 node02 <none> <none>
Run Code Online (Sandbox Code Playgroud) 当我尝试为我的 Kubernetes 集群创建入口资源时(入口控制器已经创建),入口资源/规则正在创建,我能够在 kubectl get 中看到。但是当我执行 kubectl describe 时,我看到了一个错误:
默认后端:default-http-backend:80(<错误:未找到端点“default-http-backend”>)
这是预期的吗??我什至无法使用hotel.example.com我在 Ingress 资源中定义的 DNS 名称 ( )连接到我的应用程序。是因为这个 http-backend 错误吗?如果没有,任何使应用程序连接的建议!!
[dockuser@kubemaster ingress-controller-domain-name-or-path-based-routing]$ kubectl describe ing hotel-ingress --namespace hotel
Name: hotel-ingress
Namespace: hotel
Address:
Default backend: default-http-backend:80 (<error: endpoints "default-http-backend" not found>)
Rules:
Host Path Backends
hotel.example.com
/ hotel-svc:80 (10.36.0.2:80,10.44.0.2:80)
Annotations: Events:
apiVersion: v1
kind: Namespace
metadata:
name: hotel
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: hotel-ingress
namespace: hotel
spec:
rules:
host: hotel.example.com
http:
paths:
path: /
backend:
serviceName: hotel-svc
servicePort: …Run Code Online (Sandbox Code Playgroud) 我是 docker 新手,正在尝试为 ASP.NET Core 应用程序创建一个 Dockerfile。有人可以建议我需要哪些更改吗?
这是我的 Dockerfile:
FROM microsoft/dotnet:2.1-sdk
WORKDIR /app
COPY Presentation/ECCP.Web/ *.csproj ./
RUN dotnet restore
COPY . ./
RUN dotnet publish -c Release -o out
FROM microsoft/aspnetcore:2.0
WORKDIR /app
COPY --from=build-env /app/out .
ENTRYPOINT ["dotnet", "api.dll"]
Run Code Online (Sandbox Code Playgroud)
我面临以下错误:
MSBUILD:错误 MSB1011:指定要使用的项目或解决方案文件,因为此文件夹包含多个项目或解决方案文件。命令“/bin/sh -c dotnet publish -c Release -o out”返回非零代码:1
我正在运行 Kubernetes 作业,我想监视状态。我--watch-only同时运行各种命令,例如
kubectl get pods --watch-only,它向我显示了 Pod 的更新状态。但是,我想在输出中附加时间戳和一些字符串。
这个想法是了解状态何时发生变化,并以字符串形式添加附加信息。
我怎样才能实现这个目标?
我使用的是官方的稳定/ prometheus-operator图表,确实使用头盔部署了Prometheus。
到目前为止,它运行良好,除了烦人的CPUThrottlingHigh警报正在触发许多Pod(包括自己的Prometheus的config-reloaders容器)。该警报当前正在讨论中,我现在暂时使其通知静音。
Alertmanager具有静音功能,但它是基于Web的:
静默是一种简单的方法,可以在给定时间内简单地使警报静音。在Alertmanager的Web界面中配置沉默。
有没有一种方法可以CPUThrottlingHigh使配置文件中的通知静音?
kubernetes prometheus prometheus-operator prometheus-alertmanager
我一直在使用minikube在本地测试Kubernetes。在minikube中,我们可以通过使用eval $(minikube docker-env)命令来使用本地docker映像。
我开始探索microk8。在我的在Ubuntu 18上运行的计算机上使用snap安装了microk8s。
除了创建本地docker注册表外,还有什么方法可以将本地docker镜像与microk8一起使用,就像我们使用minikube进行测试和开发一样?
microk8s.docker 命令也无法正常工作,它显示:
找不到命令'microk8s.docker',但可以使用以下命令安装:
快速安装microk8s
但已安装。
我正在使用helm install命令安装舵图。我有values.yaml它需要用户的一些输入。其中的一个键values.yaml是action,它只能采用三个预定义的值(比如action1、action2和action3)作为输入。除此以外的任何其他值均无效。
当用户向操作字段提供值values.yaml并触发helm install命令时,我需要检查的第一件事是操作键是否具有有效值。如果操作值无效,我希望发布失败并显示正确的错误消息。
例如:如果用户给出了action: action4,则这是无效的并且发布应该失败,因为.Values.action只能是action1、action2或action3。
考虑到 helm 结构,我如何实现这个用例以及哪个文件最适合处理这个验证?
我是 kubernetes 的新手并试图配置 kubernetes 主节点,我已经安装了 kubeadm、kubectl 和 kubelet
https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm/
但是当我尝试通过键入启动 kubeadm 时kubeadm init,它给了我以下错误
[init] Using Kubernetes version: v1.14.0
[preflight] Running pre-flight checks
[WARNING Firewalld]: no supported init system detected, skipping checking for services
[WARNING Service-Docker]: no supported init system detected, skipping checking for services
[WARNING IsDockerSystemdCheck]: detected "cgroupfs" as the Docker cgroup driver. The recommended driver is "systemd". Please follow the guide at https://kubernetes.io/docs/setup/cri/
[WARNING Service-Kubelet]: no supported init system detected, skipping checking for services
error execution phase …Run Code Online (Sandbox Code Playgroud) 我想在现有的kubernetes集群(v1.10)上安装kube-prometheus。在此之前,医生说我需要将控制器/调度程序的IP地址从127.0.0.1更改为0.0.0.0。并且还建议使用kubeadm配置升级来更改以下功能:
controllerManagerExtraArgs:
address: 0.0.0.0
schedulerExtraArgs:
address: 0.0.0.0
Run Code Online (Sandbox Code Playgroud)
阅读文档后,我尝试使用以下命令,但没有成功:
kubeadm upgrade --feature-gates controllerManagerExtraArgs.address=0.0.0.0
Run Code Online (Sandbox Code Playgroud)
我知道我可以kubectl -n kube-system edit cm kubeadm-config直接修改configMap,只想知道如何从中升级kubeadm upgrade
我正在使用 ubuntu-16.04 和 docker 版本 19.03.8 在本地系统中使用 Helm 3 运行 minikube(版本:v1.10.1)。目前,即使本地磁盘有足够的空间,我也会遇到“没有剩余空间”的问题。
如何增加空间?这是 POD 描述细节:
Normal Scheduled 3m41s default-scheduler Successfully assigned default/greeter-5fb8ccb96b-zwzfc to minikube
Warning Failed 108s kubelet, minikube Failed to pull image "12345.dkr.ecr.ap-south-1.amazonaws.com/micro:latest": rpc error: code = Unknown desc = write /var/lib/docker/tmp/GetImageBlob679392224: no space left on device
Warning Failed 55s (x2 over 108s) kubelet, minikube Error: ErrImagePull
Warning Failed 55s kubelet, minikube Failed to pull image "12345.dkr.ecr.ap-south-1.amazonaws.com/micro:latest": rpc error: code = Unknown desc = write /var/lib/docker/tmp/GetImageBlob816503247: no space left on …Run Code Online (Sandbox Code Playgroud) kubernetes ×9
docker ×2
kubeadm ×2
kubectl ×2
minikube ×2
prometheus ×2
asp.net ×1
microk8s ×1