标签: kubernetes-deployment

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万
查看次数

是否存在Kubernetes部署的继承概念?

有没有办法为Kubernetes部署创建继承树?我有许多类似但不完全相同的部署.他们共享许多ENV变量而不是全部.他们都使用相同的图像.

例如,我有一个开发部署,其配置几乎与生产部署相同,但有env vars指向不同的数据库后端.我有一个celery部署,其配置与生产部署相同,但是,它具有不同的运行命令.

kubernetes kubernetes-deployment

13
推荐指数
1
解决办法
769
查看次数

Kubernetes 使用 podAntiAffinity 与 topologySpreadConstraints 跨节点传播 pod

我目前正在使用以下方法尝试将给定部署中的 Kubernetes Pod 均匀地分布在所有 Kubernetes 节点上:

    spec:
      affinity:
        podAntiAffinity:
          preferredDuringSchedulingIgnoredDuringExecution:
          - weight: 100
            podAffinityTerm:
              topologyKey: kubernetes.io/hostname
              labelSelector:
                matchExpressions:
                - key: app
                  operator: In
                  values:
                  - api
Run Code Online (Sandbox Code Playgroud)

然而,我注意到topologySpreadConstraintsKubernetes 最近添加了一个新属性。在 Kubernetes 部署中从使用切换affinity.podAntiAffinity到使用有什么优势?topologySpreadConstraints有什么理由要转行吗?该语法会是什么样子来匹配我目前在上面所做的事情?

kubernetes kubernetes-deployment kubernetes-pod

12
推荐指数
1
解决办法
9282
查看次数

Kubernetes 作业和部署之间有什么区别

我看到 Kubernetes Job&Deployment提供了非常相似的配置。两者都可以部署一个或多个具有特定配置的 Pod。所以我对这些问题很少有疑问:

  • &.spec.template中的Pod 规格是否不同?JobDeployment
  • JobcompletionsDeployment区别是什么replicas
  • 如果命令在 a 的唯一容器中运行Deployment并完成(没有服务器或守护进程进程容器),则 pod 将终止。这同样适用于a Job。那么这两种资源中的 pod 生命周期有何不同?

kubernetes kubernetes-deployment kubernetes-jobs

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

使用动态名称管理单个 Pod 的 RBAC 角色

我需要使用 RBAC 授予对一个部署和此部署的所有 pod 的访问权限。我已经成功地配置RoleRoleBindingdeploymet,这是工作的罚款:

---
kind: Role
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
  namespace: <my-namespace>
  name: <deployment>-manager-role
rules:
  - apiGroups: ["", "extensions", "apps"]
    resources: ["deployments"]
    resourceNames: ["<deployment>"]
    verbs: ["get", "list", "watch", "update", "patch"]
---
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
  name: <deployment>-manager-binding
  namespace: <my-namespace>
subjects:
  - kind: User
    name: <username>
    apiGroup: ""
roleRef:
  kind: Role
  name: <deployment>-manager-role
  apiGroup: ""
Run Code Online (Sandbox Code Playgroud)

使用此角色用户可以访问、更新和修补部署。此部署创建具有动态名称(如<deployment>-5594cbfcf4-v4xx8)的pod 。我试图允许此用户使用部署名称和使用部署名称 + 通配符字符访问这些 pod(获取、列出、监视、读取日志、执行、删除)*

---
kind: Role
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
  namespace: <my-namespace>
  name: …
Run Code Online (Sandbox Code Playgroud)

roles rbac kubernetes kubernetes-deployment kubernetes-pod

9
推荐指数
1
解决办法
3131
查看次数

在 Kubernetes Deployment.yaml 文件中定义 .spec.selectors 有何必要?

.spec.selector 字段定义 Deployment 如何查找要管理的 Pod。但是我们还在模板内定义了标签,那么我们通过 .spec.selectors 字段得到的额外东西是什么,因为 Deployment 也可以找到要使用模板中定义的标签进行管理的 Pod?

在下面的代码中,带有“label occloud.oracle.com/open-network-policy:allow”的 pod 如何通过部署进行管理,因为在 spec.selectors 中没有描述它

---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: cheeseshop
spec:
  replicas: 1
  progressDeadlineSeconds: 180
  selector:
     matchLabels:
       app.kubernetes.io/name: tutorial
       app.kubernetes.io/component: cheeseshop
  template:
     metadata:
       labels:
         app.kubernetes.io/name: tutorial
         app.kubernetes.io/component: cheeseshop
         occloud.oracle.com/open-network-policy: allow
       name: cheeseshop
   
Run Code Online (Sandbox Code Playgroud)

yaml kubernetes google-kubernetes-engine kubernetes-deployment kubernetes-pod

9
推荐指数
1
解决办法
1293
查看次数

在 Kubernetes 的 deployment.yaml 中定义 2 个端口

我有我正在做的 docker 图像

docker run --name test -h test -p 9043:9043 -p 9443:9443 -d ibmcom/websphere-traditional:install
Run Code Online (Sandbox Code Playgroud)

我试图放入一个 kubernetes 部署文件,我有这个:

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: websphere
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: websphere
    spec:
      containers:
      - name: websphere
        image: ibmcom/websphere-traditional:install
        ports:
        - containerPort: 9443
        resources:
          requests: 
            memory: 500Mi
            cpu: 0.5
          limits:
            memory: 500Mi
            cpu: 0.5
        imagePullPolicy: Always
Run Code Online (Sandbox Code Playgroud)

我的服务.yaml

apiVersion: v1
kind: Service
metadata:
  name: websphere
  labels:
    app: websphere
spec:
  type: NodePort #Exposes the service as a node ports
  ports:
  - …
Run Code Online (Sandbox Code Playgroud)

kubernetes kubernetes-deployment

8
推荐指数
1
解决办法
9181
查看次数

为什么在 Kuberntes 部署/容器定义中需要端口/容器端口?

当我在 kubernetes 中定义例如部署时,有一个包含容器列表的部分,每个容器都包含一组端口,例如:

apiVersion: apps/v1
kind: Deployment
spec:
  template:
    spec:
      containers:
      - name: my-nginx
        image: nginx
        ports:
        - containerPort: 80
Run Code Online (Sandbox Code Playgroud)

现在这里的文档明确表示它不会影响连接:

要从容器公开的端口列表。在此处公开端口可为系统提供有关容器使用的网络连接的附加信息,但主要是信息性的。在此处不指定端口不会阻止该端口被公开。任何侦听容器内默认“0.0.0.0”地址的端口都可以从网络访问。无法更新。

现在看来它并没有真正影响任何东西,只是信息性的,但这究竟意味着什么,它在哪里使用?

我发现它的一个用途是,如果端口定义了一个名称,则可以通过该名称从服务中引用它。

是它还是这个规范还有其他用途?

kubernetes kubernetes-deployment kubernetes-container kubernetes-service kubernetes-networking

8
推荐指数
1
解决办法
3207
查看次数

无法删除kubernetes中的Pod

我尝试使用kubernetes安装dgraph(单个服务器)。现在我需要删除的是已创建的Pod。我使用kubectl delete pod pod-name删除了它,结果显示“ pod delete”,但是pod又重新创建了自己,并继续复制。我需要从Kubernetes中取出那些豆荚。我现在应该怎么做?

kubernetes kubectl kubernetes-deployment kubernetes-pod

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

Kubernetes“服务器没有资源类型部署”

我是 kubernetes 的新手。

我无法使用 kubectl 进行部署,但我可以在 kubernetes 仪表板上看到所有部署。我该如何解决这个问题?

user@master:~$ kubectl get deployments
error: the server doesn't have a resource type "deployments"
Run Code Online (Sandbox Code Playgroud)

Kubernetes 版本: 1.12

kubectl 版本: 1.13

kubectl api 版本:

apiregistration.k8s.io/v1

apiregistration.k8s.io/v1beta1

v1

api资源:

user@master:~$ kubectl api-resources
NAME                     SHORTNAMES   APIGROUP                 NAMESPACED               
KIND
bindings                                                       true         
Binding
componentstatuses        cs                                    false        
ComponentStatus
configmaps               cm                                    true         
ConfigMap
endpoints                ep                                    true         
Endpoints
events                   ev                                    true         
Event
limitranges              limits                                true         
LimitRange
namespaces               ns                                    false        
Namespace
nodes                    no                                    false        
Node
persistentvolumeclaims   pvc                                   true         
PersistentVolumeClaim
persistentvolumes        pv                                    false …
Run Code Online (Sandbox Code Playgroud)

kubernetes kubernetes-deployment

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