小编Arg*_*dhu的帖子

当使用spring boot maven插件构建jar时,如何在manifest.mf中添加Classpath属性

我正在使用spring boot maven插件.我需要在生成的manifest.mf文件中添加class-path属性.这个类路径条目应该包含spring boot创建的fat jar文件的lib文件夹中的所有jar文件.如何这可能吗?

spring-boot

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

k3d 对于负载均衡器类型的服务没有外部 IP

我正在将 hello-world docker 容器部署到 k3d 集群。为了获取外部IP,部署了负载均衡器类型的服务。

之后我希望通过负载均衡器调用应用程序。但我没有得到外部IP。

k3d create --name="mydemocluster" --workers="2" --publish="80:80"

export KUBECONFIG="$(k3d get-kubeconfig --name='mydemocluster')"

kubectl run kubia --image=hello-world --port=8080 --generator=run/v1
kubectl expose rc kubia --type=LoadBalancer --name kubia-http

export KUBECONFIG="$(k3d get-kubeconfig --name='mydemocluster')"
Run Code Online (Sandbox Code Playgroud)

然后 kubectl get services3d

kubernetes rancher k3s

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

如何在kubernetes中的alertmanager pod中安装curl

我想在alertmanger pod中使用curl,如下所示:

curl www.google.com
Run Code Online (Sandbox Code Playgroud)

它显示ash: curl: not found,所以我想安装curl:

/alertmanager # apk add curl
ash: apk: not found
/alertmanager # yum install curl
ash: yum: not found
/alertmanager # apt install curl
ash: apt: not found
/alertmanager # apt-get install curl
ash: apt-get: not found
Run Code Online (Sandbox Code Playgroud)

那么我应该怎么做才能在这个pod中安装curl呢?这是我的 yaml:

kind: Deployment
apiVersion: apps/v1
metadata:
  name: alertmanager
  namespace: kube-system
  labels:
    addonmanager.kubernetes.io/mode: Reconcile
    k8s-app: alertmanager
    kubernetes.io/cluster-service: 'true'
    version: v0.14.0
  annotations:
    deployment.kubernetes.io/revision: '1'
spec:
  replicas: 1
  selector:
    matchLabels:
      k8s-app: alertmanager
      version: v0.14.0
  template:
    metadata: …
Run Code Online (Sandbox Code Playgroud)

kubernetes

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

Fluentbit 将 java stacktrace 日志的每一行报告为新日志事件

任何帮助是极大的赞赏。

我在 kubernetes 上运行 fluidd。我有来自java应用程序的日志。堆栈跟踪是多行的,问题是多行日志的每一行都被报告为新的日志事件。

下面是我的配置。有人可以建议配置有什么问题吗?另外,我使用containerd而不是docker来运行容器。

input-kubernetes.conf: |
    [INPUT]
        Name              tail
        Tag               kube.*
        Path              /var/log/containers/*.log
        DB                /var/log/flb_kube.db
        Mem_Buf_Limit     5MB
        Skip_Long_Lines   On
        Refresh_Interval  10
        Multiline         On
        Parser_Firstline  multiline
        Parser_1          cri

  filter-kubernetes.conf: |
    [FILTER]
        Name                kubernetes
        Match               kube.*
        Kube_URL            https://k3s-master.test.com:6443
        Kube_CA_File        /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
        Kube_Token_File     /var/run/secrets/kubernetes.io/serviceaccount/token
        Kube_Tag_Prefix     kube.var.log.containers.
        K8S-Logging.Parser  On
        K8S-Logging.Exclude Off
    [FILTER]
        Name      parser
        Match     kube.*
        Key_Name  log
        Parser    cri
        Reserve_Data On
    [FILTER]
        Name      parser
        Match     kube.*
        Key_Name  message
        Parser    json
        Reserve_Data On
        Preserve_Key On

  output-elasticsearch.conf: |
    [OUTPUT]
        Name            es
        Match           *
        Host …
Run Code Online (Sandbox Code Playgroud)

java parsing multiline kubernetes fluent-bit

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

K8s:获取 HTTP 415 以向 Kubernetes REST API 服务器发送 PATCH 请求

我从以下链接看到 Kubernetes REST API 参考手册支持 PATCH 请求:https: //kubernetes.io/docs/reference/ generated/kubernetes-api/v1.18/#patch-ingress-v1beta1-networking-k8s -io

HTTP Request
PATCH /apis/networking.k8s.io/v1beta1/namespaces/{namespace}/ingresses/{name}
Run Code Online (Sandbox Code Playgroud)

但是,在 Postman 中通过 Kubernetes REST API 服务器向 Kubernetes 集群发送 PATCH 请求时,出现 HTTP 415 Unsupported Media Type 错误。

我想在集群外部部分更新我们指定的入口。为此,我添加了试用版的快照。

Kubernetes REST API 服务器入口 PATCH 请求

我们的 Kubernetes 版本是:

Client Version: version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.3", GitCommit:"2d3c76f9091b6bec110a5e63777c332469e0cba2", GitTreeState:"clean", BuildDate:"2019-08-19T11:13:54Z", GoVersion:"go1.12.9", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.3", GitCommit:"2d3c76f9091b6bec110a5e63777c332469e0cba2", GitTreeState:"clean", BuildDate:"2019-08-19T11:05:50Z", GoVersion:"go1.12.9", Compiler:"gc", Platform:"linux/amd64"}
Run Code Online (Sandbox Code Playgroud)

修补 JSON:

{
   "apiVersion": "networking.k8s.io/v1beta1",
   "kind": "Ingress",
   "metadata": {
      "name": "demo-ingress",
      "annotations": {
         "nginx.org/rewrites": "serviceName=demo-service-235 rewrite=/"
      } …
Run Code Online (Sandbox Code Playgroud)

kubernetes kubernetes-ingress kubernetes-apiserver

4
推荐指数
1
解决办法
2884
查看次数

将应用程序部署到 Kubernetes 集群时未找到 ConfigMap

我正在尝试将应用程序部署到 Kubernetes 集群。我的部署使用三个 configMap 作为volumeMount。

但是,当我应用部署时,它似乎找不到 configMaps。

我的部署.yml 如下所示:

apiVersion: apps/v1
kind: Deployment
metadata:
  namespace: dev-space
  name: my-app-dev
spec:
  replicas: 1
  revisionHistoryLimit: 1
  selector:
    matchLabels:
      name: my-app-dev
  strategy:
    rollingUpdate:
      maxSurge: 100%
      maxUnavailable: 30%
    type: RollingUpdate
  template:
    metadata:
      labels:
        name: my-app-dev
        version: v1
      annotations:
        sla: high
        tier: application
        role: frontend-api
        quality: dev
    spec:
      containers:
      - name: my-app
        env:
        - name: ENVIRONMENT
          value: dev
        - name: SAMPLE_FILE
          value: sample.yml
        - name: SAMPLE_FILE2
          value: sample2.yml
        image: my-app:1.0
        ports:
        - containerPort: 8000
          protocol: TCP …
Run Code Online (Sandbox Code Playgroud)

kubernetes

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

Kubernetes 客户端找不到模块

我正在尝试连接到托管在 上的本地 Kubernetes 集群minikube这是相同的代码,现在当我这样做时go run minikube.go,它给了我一个错误说:

../../../pkg/mod/k8s.io/client-go@v11.0.0+incompatible/kubernetes/scheme/register.go:26:2: module k8s.io/api@latest found (v0.19.0), but does not contain package k8s.io/api/auditregistration/v1alpha1`.
Run Code Online (Sandbox Code Playgroud)

现在,我尝试使用手动安装该软件包,go get然后我发现该软件包不存在。我怎样才能让它工作并解决这个问题?我的go.mod 文件,以防有人想看。

go kubernetes kubernetes-go-client go-packages go-modules

4
推荐指数
1
解决办法
7026
查看次数

1 个 pod 在 Minikube 上具有未绑定的即时 PersistentVolumeClaims

我正在尝试将 kubernetes 与 Spring Boot 应用程序一起使用并使用 mysql。但是我在 minikube 仪表板上发现了这个错误:

0/1 nodes are available: 1 pod has unbound immediate PersistentVolumeClaims.Back-off restarting failed container    
Run Code Online (Sandbox Code Playgroud)

为boath 用户和管理员创建了一个秘密文件,一个configMap 文件也用于将spring boot 映像映射到mysql 的服务。Mysql部署文件是:

apiVersion: v1
kind: Service
metadata:
  name: mysql  # DNS name
  labels:
    app: mysql
    tier: database
spec:
  ports:
    - port: 3306
      targetPort: 3306
  selector:       # mysql Pod Should contain same labels
    app: mysql
    tier: database
  clusterIP: None  # We Use DNS, Thus ClusterIP is not relevant
---
# Define a 'Persistent Volume Claim'(PVC) …
Run Code Online (Sandbox Code Playgroud)

mysql kubernetes minikube

4
推荐指数
1
解决办法
4696
查看次数

禁止:“system:serviceaccount:default:default”无法创建资源。如何添加权限?

当我尝试通过 http 请求从 node.js 应用程序创建资源时,出现此错误。

{
  kind: 'Status',
  apiVersion: 'v1',
  metadata: {},
  status: 'Failure',
  message: 'prometheusrules.monitoring.coreos.com is forbidden: User ' +
    '"system:serviceaccount:default:default" cannot create resource ' +
    '"prometheusrules" in API group "monitoring.coreos.com" in the ' +
    'namespace "default"',
  reason: 'Forbidden',
  details: { group: 'monitoring.coreos.com', kind: 'prometheusrules' },
  code: 403
}
Run Code Online (Sandbox Code Playgroud)

如何添加权限system:serviceaccount:default:default

我尝试过以下方法ClusterRole

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: sla-manager-service-role
  labels:
    app: sla-manager-app
rules:
- apiGroups: [""] # "" indicates the core API group
  resources: ["services", "pods"]
  verbs: …
Run Code Online (Sandbox Code Playgroud)

kubernetes

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

“etcdctl member list”的以下输出是否正确,ETCD集群是否处于良好状态?

我是 k8s 的新手,我正在尝试构建一个 etcd 集群。现在我已经完成了所有步骤并获得了所需的输出。

ubuntu@controller0:/etc/systemd/system$ sudo ETCDCTL_API=3 etcdctl member list --endpoints=https://10.240.0.10:2379 --cacert=/etc/etcd/ca.pem --cert=/etc/etcd/kubernetes.pem --key=/etc/etcd/kubernetes-key.pem
3a57933972cb5131, started, controller2, https://10.240.0.12:2380, https://10.240.0.12:2379, false
f98dc20bce6225a0, started, controller0, https://10.240.0.10:2380, https://10.240.0.10:2379, false
ffed16798470cab5, started, controller1, https://10.240.0.11:2380, https://10.240.0.11:2379, false
Run Code Online (Sandbox Code Playgroud)

但是让我有点困惑的是false所有 3 个 etcd 主机。有人可以帮我解释一下,这是否意味着他们目前都不是大师?如果这个输出是正确的

etcd kubernetes

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