标签: kubectl

Kubectl 不允许我删除任何内容 - 如何删除所有当前部署?

我运行此命令来创建我的 Pod:

kubectl run my-ngnix --image nginx

Run Code Online (Sandbox Code Playgroud)

现在,我尝试使用以下命令删除 pod/部署:

kubectl delete deployment my-nginx

Run Code Online (Sandbox Code Playgroud)

问题是我的终端告诉我这是不可能的。因为找不到正确的信息。

Error from server (NotFound): deployments.apps "my-nginx" not found

Run Code Online (Sandbox Code Playgroud)

如果要求全部,这就是我所看到的:

 kubectl get all
NAME           READY   STATUS    RESTARTS   AGE
pod/my-ngnix   1/1     Running   0          27m

NAME                 TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGE
service/kubernetes   ClusterIP   10.0.0.1     <none>        443/TCP   159m
root@aharo003:~# kubectl stop pods,services -l pod/m-ngnix

Run Code Online (Sandbox Code Playgroud)

有人知道我还应该做什么吗?

terminal azure kubernetes azure-devops kubectl

0
推荐指数
1
解决办法
830
查看次数

Ansible 错误:模板化字符串时出现模板错误:预期标记“打印语句结束”,得到“字符串”

kubectl get -n istio-system secret istio-ca -ogo-template='{{index .data "tls.crt"}}' | base64 -d > ca.pem
Run Code Online (Sandbox Code Playgroud)

如何在 ansible playbook 中运行上述命令?

我尝试按如下方式使用它:

- name: Apply secret istio-ca
  shell: kubectl get -n istio-system secret istio-ca -ogo-template='{{index .data "tls.crt"}}' | base64 -d > ca.pem
  register: sout
Run Code Online (Sandbox Code Playgroud)

但这给了我一个错误,如下所示:

fatal: [172.31.20.135]: FAILED! => {"msg": "template error while templating string: expected token 'end of print statement', got 'string'. String: kubectl get -n istio-system secret istio-ca -ogo-template='{{index .data \"tls.crt\"}}' | base64 -d > ca.pem"}
Run Code Online (Sandbox Code Playgroud)

ansible kubernetes kubectl

0
推荐指数
1
解决办法
3874
查看次数

使用 shell 脚本提取 kubernetes pod 名称

我想从 kubernetes 上可用的 pod 列表中提取 pod 名称。例如,对于以下命令

kubectl get pods -n 命名空间

NAME          READY   STATUS            RESTARTS   AGE
pod1          1/1     Running           2          46d
pod2          1/1     Running           0          46d
test-pod3-yy  0/1     ImagePullBackOff  0          338d
test-pod3-xx  1/1     Running           0          255d
Run Code Online (Sandbox Code Playgroud)

test-pod3-xx我想使用 shell 脚本提取 pod 。目前这是我正在使用的命令

POD_NAME=$(kubectl get pods -n namespace | grep testpod-3 | cut -d' ' -f1)
Run Code Online (Sandbox Code Playgroud)

这样我就得到了两个 Pod test-pod3-yytest-pod3-xx但我想提取处于运行状态的 Pod。我怎样才能做到这一点?

bash shell grep kubernetes kubectl

0
推荐指数
1
解决办法
1805
查看次数

为什么我无法使用 Kubernetes、minikube 从浏览器访问应用程序?

我正在尝试使用 Kubernetes 和 minikube 部署应用程序。但我有一个奇怪的问题:我可以在终端中使用curl 访问我的应用程序,但不能从浏览器访问我的应用程序。我正在使用“minikubetunnel”命令作为外部IP。

在此输入图像描述

在此输入图像描述

这是我的部署和服务文件

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nodeapp-deployment
  labels:
    app: nodeapp
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nodeapp
  template:
    metadata:
      labels:
        app: nodeapp
    spec:
      containers:
      - name: nodeserver
        image:  tanyadovzhenko/chi-questionnaire-back
        env:
          - name: PORT
            value: "4000"
          - name: JWT_ACCESS_KEY
            value: "111"
          - name: JWT_REFRESH_KEY
            value: "111"
          - name: HASH_PASSWORD_ALGORITM
            value: "sha256"
        ports:
        - containerPort: 4000
Run Code Online (Sandbox Code Playgroud)

apiVersion: v1
kind: Service
metadata:
  name: nodeapp-service
spec:
  selector:
    app: nodeapp
  type: LoadBalancer
  ports:
  - protocol: TCP
    port: 4000 …
Run Code Online (Sandbox Code Playgroud)

deployment kubernetes kubectl minikube kubernetes-ingress

0
推荐指数
1
解决办法
826
查看次数

Kubernetes POD 状态的 jsonpath 是什么?

使用 kubectl 时找不到状态 jsonpath。pod json 有一个状态字段,但它是一个数组。

kubectl get pods --column=Status:.status[*]
Run Code Online (Sandbox Code Playgroud)

数组中有多个元素,如何选择一个来反映真实 Pod 状态?

jsonpath kubernetes kubectl

-1
推荐指数
1
解决办法
1万
查看次数

相当于golang中的cat &lt;&lt;EOF

我正在尝试执行与此等效的操作:

cat <<EOF | kubectl apply -f -
apiVersion: v1
kind: ConfigMap
metadata:
  name: testMap
  namespace: default
data:
  details:
    host: "localhost:${reg_port}"
EOF
Run Code Online (Sandbox Code Playgroud)

在戈兰。

我目前的尝试归结为:

func generateConfig(port string) string {
    return `
apiVersion: v1
kind: ConfigMap
metadata:
  name: testMap
  namespace: default
data:
  details:
    host: "localhost:" + port`
}

func main() {
  exec.Command("kubectl", "apply", "-f", "-", generateConfig(5000))
}
Run Code Online (Sandbox Code Playgroud)

我并不特别惊讶地发现它不起作用,并出现错误:

error: Unexpected args: [
apiVersion: v1
kind: ConfigMap
metadata:
    name: testMap
    namespace: default
data:
    details:
        host: "localhost:5000"]
Run Code Online (Sandbox Code Playgroud)

我认识到我将这些作为参数传递,并且 kubectl 需要一个文件,但是我发现自己完全不知道如何继续。

我宁愿不创建临时文件或调用单独的 bash 脚本,因为这看起来比我希望的更混乱。

shell go kubectl

-1
推荐指数
1
解决办法
1791
查看次数

如何删除 Kubernetes 中的服务

我执行了这个命令: $ kubectl get services -n demo1

它返回了此服务列表

服务清单

请告诉我如何删除该服务

service kubernetes google-kubernetes-engine kubectl minikube

-2
推荐指数
1
解决办法
976
查看次数