我需要将转储数据从 pod 复制到本地。在我正在尝试但收到错误的命令下面:unexpected EOF
kubectl cp device-database-79fc964c8-q7ncc:tmp /Users/raja
error: unexpected EOF
or
kubectl cp device-database-79fc964c8-q7ncc:tmp/plsql_data/prod.dump /Users/raja/prod.dump
error: unexpected EOF
Run Code Online (Sandbox Code Playgroud)
kubectl版本
kubectl version --client
Client Version: version.Info{Major:"1", Minor:"21", GitVersion:"v1.21.0", GitCommit:"cb303e613a121a29364f75cc67d3d580833a7479", GitTreeState:"clean", BuildDate:"2021-04-08T16:31:21Z", GoVersion:"go1.16.1", Compiler:"gc", Platform:"darwin/amd64"}
Run Code Online (Sandbox Code Playgroud)
谁能帮助如何解决这个问题?
谢谢
这在我们的 K8 集群中是一种奇怪的行为。
当我们尝试部署新版本的应用程序时,我们会得到:
Failed to create pod sandbox: rpc error: code = Unknown desc = failed to set up sandbox container "<container-id>" network for pod "application-6647b7cbdb-4tp2v": networkPlugin cni failed to set up pod "application-6647b7cbdb-4tp2v_default" network: Get "https://[10.233.0.1]:443/api/v1/namespaces/default": dial tcp 10.233.0.1:443: connect: connection refused
Run Code Online (Sandbox Code Playgroud)
我使用kubectl get cs并发现controller并scheduler处于Unhealthy状态。
正如这里的描述更新/etc/kubernetes/manifests/kube-scheduler.yaml并
/etc/kubernetes/manifests/kube-controller-manager.yaml通过评论--port=0
当我检查systemctl status kubelet它正在工作时。
Active: active (running) since Mon 2020-10-26 13:18:46 +0530; 1 years 0 months …Run Code Online (Sandbox Code Playgroud) 我有一个 Kubernetes 集群(v.1.22),在其中部署了 Nginx 入口控制器。我发现我可以在几种情况下重新加载我的入口:下一个列表描述了需要重新加载的场景:
- 创建了新的 Ingress 资源。
- TLS 部分已添加到现有 Ingress。
- Ingress 注释的更改不仅仅影响上游配置。例如,负载平衡注释不需要重新加载。
- 从 Ingress 添加/删除路径。
- Ingress、Service、Secret 被删除。
- Ingress 中某些缺失的引用对象是可用的,例如服务或秘密。
- 秘密已更新。
我的入口现在仅使用 HTTP 流量,我想将 TLS 部分添加到现有入口。
所以,我的问题是:我到底应该做什么来重新加载我的入口?
我在文档或其他地方找不到任何信息。任何建议表示赞赏!
我有一个 azure aks 集群和一个本地 kubeconfig:
apiVersion: v1
kind: Config
clusters:
- name: my-cluster
cluster:
certificate-authority-data: LS0...0tCg==
server: https://api-server:443
contexts:
- name: my-context
context:
cluster: my-cluster
namespace: samples
user: my-context-user
current-context: my-context
users:
- name: my-context-user
user:
token: ey...jI
Run Code Online (Sandbox Code Playgroud)
用于连接到集群、列出 Pod 等。
据我了解,kubeconfig 中的令牌保持秘密/私有很重要。但那又怎样呢certificate-authority-data?
由于它只是用于验证 API 服务器证书,我猜它具有与公钥相同的状态,并且至少可以对内部团队成员公开。
是否有文件证实这一点?
我正在尝试将更新推送到我的 docker 映像的代码库。我在 GCP 上的 kubernetes 上有 docker 镜像,我按照文档here中提到的方式进行操作。我什至将带有 :v2 标签的映像推送到容器注册表,并且该映像也在控制台中可见。但是现在当我尝试运行时:
kubectl set image deployment/clustername myImageName=gcr.io/${PROJECT_ID}/myImageName:v2
Run Code Online (Sandbox Code Playgroud)
它给了我以下错误:
error: unable to find container myImageName
Run Code Online (Sandbox Code Playgroud)
我知道图像在那里,因为我用
docker build -t gcr.io/${PROJECT_ID}/myImageName:v2 .
Run Code Online (Sandbox Code Playgroud)
我还解决了以下问题:Error from server (NotFound): deployments.extensions
此时此刻我被卡住了。任何人都可以对此有所了解吗?
我正在使用这个例子:
\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 base\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 kustomization.yaml\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 pod.yaml\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 dev\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 kustomization.yaml\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 kustomization.yaml\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 production\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 kustomization.yaml\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 staging\n \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 kustomization.yaml\nRun Code Online (Sandbox Code Playgroud)\n并在kustomization.yaml根目录中的文件中:
resources:\n- ./dev\n- ./staging\n- ./production\nRun Code Online (Sandbox Code Playgroud)\n我也有图像转换器代码dev, staging, production:
images:\n- name: my-app\n newName: gcr.io/my-platform/my-app\n\nRun Code Online (Sandbox Code Playgroud)\n为了构建单个部署清单,我使用:
\n(cd dev && kustomize edit set image my-app=gcr.io/my-platform/my-app:0.0.2 && kustomize build .)\nRun Code Online (Sandbox Code Playgroud)\n这很简单!
\n要为所有覆盖(开发、暂存、生产)构建部署清单,我使用:
\n(kustomize edit set image my-app=gcr.io/my-platform/my-app:0.0.2 && kustomize build .)\nRun Code Online (Sandbox Code Playgroud)\n它使用kustomization.yaml包含所有资源(开发、暂存、生产)的根目录。
它确实有效,并且最终版本打印在控制台上,但没有图像标签。
\n看来kusotmize edit …
首先,这是我的文件夹:
这是我的 Dockerfile:
FROM mcr.microsoft.com/dotnet/sdk:5.0 AS build-env
WORKDIR /app
COPY *.csproj ./
RUN dotnet restore
COPY . ./
RUN dotnet publish -c Release -o out
FROM mcr.microsoft.com/dotnet/aspnet:5.0
WORKDIR /app
COPY --from=build-env /app/out .
ENTRYPOINT ["dotnet", "PlatformService.dll"]
Run Code Online (Sandbox Code Playgroud)
platforms-depl.yaml(部署文件)
apiVersion: apps/v1
kind: Deployment
metadata:
name: platforms-depl
spec:
replicas: 1
selector:
matchLabels:
app: platformservice
template:
metadata:
labels:
app: platformservice
spec:
containers:
- name: platformservice
image: hao14102000/platformservice:latest
Run Code Online (Sandbox Code Playgroud)
platforms-np-srv.yaml(NodePort 服务文件)
apiVersion: v1
kind: Service
metadata:
name: platformnpservice-srv
spec:
type: NodePort
selector:
app: platformservice
ports:
- …Run Code Online (Sandbox Code Playgroud) 例如system:masters\xe3\x80\x81 system:anonymous\xe3\x80\x81 system:unauthenticated。
有没有办法让所有不包含外部创建的系统组,只需 system\xef\xbc\x8ckubectl 命令或列表?
\n我搜索了 Kubernetes 文档,但没有找到列表或获取它的方法。
\nNodePort当我使用 Nginx 服务器访问 Istio 网关时curl,我得到了正确的响应,如下所示:
curl -v "http://52.66.195.124:30408/status/200"
* Trying 52.66.195.124:30408...
* Connected to 52.66.195.124 (52.66.195.124) port 30408 (#0)
> GET /status/200 HTTP/1.1
> Host: 52.66.195.124:30408
> User-Agent: curl/7.76.1
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< server: istio-envoy
< date: Sat, 18 Sep 2021 04:33:35 GMT
< content-type: text/html; charset=utf-8
< access-control-allow-origin: *
< access-control-allow-credentials: true
< content-length: 0
< x-envoy-upstream-service-time: 2
<
* Connection #0 to host …Run Code Online (Sandbox Code Playgroud) 我正在寻找一种从命令行快速运行/重新启动作业/Pod 并覆盖要在创建的容器中执行的命令的方法。
对于上下文,我有一个 Kubernetes 作业,它作为部署过程的一部分执行。有时该作业会崩溃,我需要在作业创建的容器内运行某些命令来调试和修复问题(后续作业会成功)。
到目前为止我这样做的方法是:
command:字段更改为tail -f /dev/null(以便容器保持活动状态)kubectl apply -f job.yaml && kubectl get all && kubectl exec -ti pod/foobar bashkubectl delete job/foobar当我完成时这是非常乏味的。我正在寻找一种方法来做类似以下的事情
kubectl restart job/foobar --command "tail -f /dev/null"
# or even better
kubectl run job/foobar --exec --interactive bash
Run Code Online (Sandbox Code Playgroud)
我无法使用以下run命令创建 Pod:
kubectl restart job/foobar --command "tail -f /dev/null"
# or even better
kubectl run job/foobar --exec --interactive bash
Run Code Online (Sandbox Code Playgroud)
因为我尝试重新启动的作业具有 …