• 【踩坑云原生】解决 Kubernete 动态的生成 Slave 的 Pod 报错


    最近在研究云原生,使用Kubernete搭建了一个Jenkins平台,准备用其构建简单的Demo,根据网上的教程会有报错。
    可能是Jenkins镜像版本的问题,这里先记录一下

    报错1:
    Exec Failure: HTTP 403, Status: 403 - events is forbidden: User "system:serviceaccount:kube-ops:jenkins2" cannot watch resource "events" in API group "" in the namespace "kube-ops"

    kube-ops 是我自己配置的namespace
    jenkins2是我创建一个用户

    根据提示可以知道resource 这个event没有相关权限。想起权限可能就会想起我们在创建jenkins2,
    我们创建新用户的时候一个是在node上,也就是一些文件权限,显然和这个关系不大,还有第二个就是rbac

    apiVersion: v1
    kind: ServiceAccount
    metadata:
      name: jenkins2
      namespace: kube-ops
    
    ---
    
    kind: Role
    apiVersion: rbac.authorization.k8s.io/v1beta1
    metadata:
      name: jenkins2
      namespace: kube-ops
    rules:
      - apiGroups: [""]
        resources: ["pods"]
        verbs: ["create","delete","get","list","patch","update","watch"]
      - apiGroups: [""]
        resources: ["pods/exec"]
        verbs: ["create","delete","get","list","patch","update","watch"]
      - apiGroups: [""]
        resources: ["pods/log"]
        verbs: ["get","list","watch"]
      - apiGroups: [""]
        resources: ["secrets"]
        verbs: ["get"]
    
    、、、、、、
    
    

    这里面查看resources 没有events这资源,所以有可能是这里少配置内容,去网上找一些resources的配置类型,但是很遗憾没有找到events,但是为了验证猜想,就配置了一下
    resources: ["pods"] -->resources: ["pods","events"] 下面有watch 权限, 所以不用动。
    kubectl apply 一下,更新配置文件。在Build Now, 这个问题解决。

    报错2:
    Warning: JnlpProtocol3 is disabled by default, use JNLP_PROTOCOL_OPTS to alter the behavior
    "-workDir" is not a valid option
    ...
    ...
    ...

    将 镜像:cnych/jenkins:jnlp --> cnych/jenkins:jnlp6
    应用、保存、Build Now 问题解决

    解决办法倒是很简单,只是这个查找问题的过程很痛苦。

  • 相关阅读:
    服务器建设问题
    JDBC --反射(二)
    Cookies
    http和https区别
    springboot常用注解
    线程池
    悲观锁和乐观锁
    java高并发下的数据安全
    idea解决mybatis逆向工程
    spring Cloud
  • 原文地址:https://www.cnblogs.com/zhaosc-haha/p/15099543.html
Copyright © 2020-2023  润新知