标签: kubectl

Kubectl适用于kubectl创建吗?

我在文档中理解的是kubectl apply = kubectl create + kubectl replace.参考

我的理解是

如果我想在集群中创建新的k8s资源,我应该使用kubectl创建操作.现在,如果我想更新现场k8s资源中的内容,我应该使用kubectl替换操作.

如果我想做两个操作(创建一个新的k8s资源以及更新实时k8s资源)那么我应该使用kubectl应用操作

我的问题是为什么在集群中执行相同任务有三个操作?这些操作的用例是什么?他们如何在引擎盖下相互区别?

目前我正在使用kubectl create操作在集群中创建新资源.谢谢

kubernetes kubectl

202
推荐指数
7
解决办法
6万
查看次数

删除后,Kubernetes pod会重新创建

我已经用命令启动了pods

$ kubectl run busybox --image=busybox --restart=Never --tty -i --generator=run-pod/v1
Run Code Online (Sandbox Code Playgroud)

出了点问题,现在我无法删除这个pod我尝试使用下面的方法,但它不断重建自己

$ kubectl delete pods  busybox-na3tm
pod "busybox-na3tm" deleted
$ kubectl get pods
NAME                                     READY     STATUS              RESTARTS   AGE
busybox-vlzh3                            0/1       ContainerCreating   0          14s

$ kubectl delete pod busybox-vlzh3 --grace-period=0


$ kubectl delete pods --all
pod "busybox-131cq" deleted
pod "busybox-136x9" deleted
pod "busybox-13f8a" deleted
pod "busybox-13svg" deleted
pod "busybox-1465m" deleted
pod "busybox-14uz1" deleted
pod "busybox-15raj" deleted
pod "busybox-160to" deleted
pod "busybox-16191" deleted


$ kubectl get pods --all-namespaces
NAMESPACE   NAME            READY     STATUS …
Run Code Online (Sandbox Code Playgroud)

kubernetes kubectl

108
推荐指数
10
解决办法
6万
查看次数

kubectl日志 - 不断

kubectl logs <pod-id>
Run Code Online (Sandbox Code Playgroud)

从我的部署中获取最新日志 - 我正在处理一个错误并且有兴趣在运行时知道日志 - 如何获得连续的日志流?

编辑:最后纠正的问题.

kubernetes google-kubernetes-engine kubectl

69
推荐指数
7
解决办法
6万
查看次数

kubernetes在pod中重启容器

我有一个test-1495806908-xn5jn带2个容器的吊舱.我想重新启动其中一个叫container-test.是否可以重新启动pod中的单个容器以及如何?如果没有,我该如何重启pod?

pod是使用deployment.yaml创建的:

kubectl create -f deployment.yaml
Run Code Online (Sandbox Code Playgroud)

kubernetes kubectl

69
推荐指数
7
解决办法
14万
查看次数

在 Kubernetes Ingress 中从 v1beta1 切换到 v1 时出现错误“io.k8s.api.networking.v1.IngressBackend”中的“未知字段“serviceName”

我的 Ingress 使用了以下 YAML,它工作正常(并继续工作):

apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: test-ingress
  namespace: test-layer
annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /$1
spec:
  rules:
    - host: mylocalhost.com
      http:
        paths:
          - path: /
            backend:
              serviceName: test-app
              servicePort: 5000
Run Code Online (Sandbox Code Playgroud)

但是,它告诉我它已被弃用,我应该改为使用networking.k8s.io/v1. 当我这样做(见下文)时,它会引发错误。

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: test-ingress
  namespace: test-layer
annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /$1
spec:
  rules:
    - host: mylocalhost.com
      http:
        paths:
          - path: /
            backend:
              serviceName: test-app
              servicePort: 5000
Run Code Online (Sandbox Code Playgroud)

错误

error: error validating "test-ingress.yaml": 
  error validating data: [ValidationError(Ingress.spec.rules[0].http.paths[0].backend): 
    unknown field "serviceName" in io.k8s.api.networking.v1.IngressBackend, 
    ValidationError(Ingress.spec.rules[0].http.paths[0].backend): 
      unknown field "servicePort" …
Run Code Online (Sandbox Code Playgroud)

kubernetes kubectl minikube kubernetes-ingress

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

如何从kubectl配置中删除集群和上下文?

kubectl配置视图显示与已删除的集群对应的上下文和集群.

我该如何删除这些条目?

命令

kubectl config unset clusters
Run Code Online (Sandbox Code Playgroud)

似乎删除所有群集.有没有办法有选择地删除群集条目?上下文怎么样?

kubernetes google-kubernetes-engine kubectl

64
推荐指数
4
解决办法
4万
查看次数

如何从文件生成Kubernetes时更新秘密?

我用秘密创造了一个秘密kubectl create secret generic production-tls --from-file=./tls.key --from-file=./tls.crt.

如果我想更新值 - 我该怎么做?

kubernetes kubectl

64
推荐指数
4
解决办法
4万
查看次数

如何将用户添加到Kubernetes(kubectl)?

我在AWS上使用kops创建了一个Kubernetes集群,并且可以通过kubectl本地计算机成功管理它.

我可以查看当前配置kubectl config view以及直接访问存储状态~/.kube/config,例如:

apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: REDACTED
    server: https://api.{CLUSTER_NAME}
  name: {CLUSTER_NAME}
contexts:
- context:
    cluster: {CLUSTER_NAME}
    user: {CLUSTER_NAME}
  name: {CLUSTER_NAME}
current-context: {CLUSTER_NAME}
kind: Config
preferences: {}
users:
- name: {CLUSTER_NAME}
  user:
    client-certificate-data: REDACTED
    client-key-data: REDACTED
    password: REDACTED
    username: admin
- name: {CLUSTER_NAME}-basic-auth
  user:
    password: REDACTED
    username: admin
Run Code Online (Sandbox Code Playgroud)

我需要让其他用户也能管理.本用户指南介绍了如何在其他用户计算机上定义这些用户指南,但未描述如何在群集本身内实际创建用户凭据.你怎么做到这一点?

另外,分享是否安全cluster.certificate-authority-data

kubernetes kubectl kops

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

什么是使用kubectl查找有关Kubernetes master的详细信息的命令?

假设我想找到我的k8s主人的kubelet和apiserver版本,最好的方法是什么?

我知道以下命令:

kubectl cluster-info
Run Code Online (Sandbox Code Playgroud)

它只显示端点.

kubectl get nodes; kubectl describe node <node>;
Run Code Online (Sandbox Code Playgroud)

它显示非常详细的信息,但只显示节点而不是主节点.

还有

kubectl version
Run Code Online (Sandbox Code Playgroud)

但这只显示kubectl版本而不是kubelet或apiserver版本.

我可以使用哪些其他命令来识别群集的属性?

kubernetes kubectl

61
推荐指数
2
解决办法
7万
查看次数

Kubernetes创建部署意外SchemaError

我正在关注该教程(https://www.baeldung.com/spring-boot-minikube),我想在yaml文件(simple-crud-dpl.yaml)中创建Kubernetes部署:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: simple-crud
spec:
  selector:
      matchLabels:
        app: simple-crud
  replicas: 3
  template:
    metadata:
      labels:
        app: simple-crud
    spec:
      containers:
        - name: simple-crud
          image: simple-crud:latest
          imagePullPolicy: Never
          ports:
            - containerPort: 8080
Run Code Online (Sandbox Code Playgroud)

但是当我跑步时kubectl create -f simple-crud-dpl.yaml我得到了: error: SchemaError(io.k8s.api.autoscaling.v2beta2.MetricTarget): invalid object doesn't have additional properties

我正在使用kubectl的最新版本:

kubectl version
Client Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.11", GitCommit:"637c7e288581ee40ab4ca210618a89a555b6e7e9", GitTreeState:"clean", BuildDate:"2018-11-26T14:38:32Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"14", GitVersion:"v1.14.0", GitCommit:"641856db18352033a0d96dbc99153fa3b27298e5", GitTreeState:"clean", BuildDate:"2019-03-25T15:45:25Z", GoVersion:"go1.12.1", Compiler:"gc", Platform:"linux/amd64"}
Run Code Online (Sandbox Code Playgroud)

我也在本地使用minikube,如教程中所述。一切正常,直到部署和服务。我做不到。

kubernetes kubectl kubernetes-deployment

55
推荐指数
7
解决办法
3万
查看次数