Kubernetes部署Kanboard看板管理平台

【云原生】Kubernetes部署Kanboard项目管理平台

文章目录

  • 【云原生】Kubernetes部署Kanboard项目管理平台
    • 介绍
    • 资源列表
    • 基础环境
    • 一、检查k8s环境
      • 1.1、检查工作节点状态
      • 1.2、检查系统pod状态
    • 二、编辑kanboard.yaml文件
      • 2.1、创建项目目录
      • 2.2、编辑kanboard.yaml文件
    • 三、部署Kanboard
      • 3.1、部署Kanboard服务
      • 3.2、检查pod状态
      • 3.3、检查pod详细信息
      • 3.4、查看service状态
    • 四、访问Kanboard平台

介绍

  • Kanboard是一个简介而强大的任务看板管理系统,它以敏捷开发理念为基础,皆在帮助个人和团队提高工作效率、优化工作流程。通过其直观的界面和灵活的配置选项,用户可以轻松地进行项目管理、任务分配、并跟踪进度

资源列表

操作系统配置主机名IPk8s版本
CentOS 7.92C4Gk8s-master192.168.93.101v1.18.0
CentOS 7.92C4Gk8s-node01192.168.93.102v1.18.0
CentOS 7.92C4Gk8s-node02192.168.93.103v1.18.0

基础环境

  • 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
  • 关闭内核安全机制
setenforce 0
sed -i "s/^SELINUX=.*/SELINUX=disabled/g" /etc/selinux/config

一、检查k8s环境

  • 提前部署一个k8s集群,采用kubeadm或二进制安装都可以

1.1、检查工作节点状态

[root@k8s-master ~]# kubectl get node
NAME         STATUS   ROLES    AGE    VERSION
k8s-master   Ready    master   158m   v1.18.0
k8s-node01   Ready    <none>   157m   v1.18.0
k8s-node02   Ready    <none>   157m   v1.18.0

1.2、检查系统pod状态

  • 检查k8s集群中各系统组件的pod状态,确保都处于正常状态
[root@k8s-master ~]# kubectl get pod -n kube-system
NAME                                      READY   STATUS    RESTARTS   AGE
calico-kube-controllers-858fbfbc9-l8tpp   1/1     Running   1          157m
calico-node-k6qbl                         1/1     Running   1          157m
calico-node-q969p                         1/1     Running   1          157m
calico-node-sv48g                         1/1     Running   1          157m
coredns-7ff77c879f-lnl72                  1/1     Running   1          158m
coredns-7ff77c879f-nfx7g                  1/1     Running   1          158m
etcd-k8s-master                           1/1     Running   1          159m
kube-apiserver-k8s-master                 1/1     Running   1          159m
kube-controller-manager-k8s-master        1/1     Running   1          159m
kube-proxy-2c282                          1/1     Running   1          158m
kube-proxy-6n6pn                          1/1     Running   1          158m
kube-proxy-zhm2m                          1/1     Running   1          158m
kube-scheduler-k8s-master                 1/1     Running   1          159m

二、编辑kanboard.yaml文件

  • yaml文件直接复制粘贴即可

2.1、创建项目目录

[root@k8s-master ~]# mkdir -p /data/kanboard
[root@k8s-master ~]# cd /data/kanboard/

2.2、编辑kanboard.yaml文件

  • 执行以下命令之前可以选择先导入需要的镜像,手动进行拉取,不然如果镜像拉去不下来的话,pod就会运行不起来,镜像拉取不下来的可以私信或者评论(开源)
[root@k8s-master kanboard]# vim kanboard.yaml
---
apiVersion: v1
kind: Namespace
metadata:
  name: kanboard
---

apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: kanboard
  name: kanboard
  namespace: kanboard
spec:
  replicas: 2
  selector:
    matchLabels:
      app: kanboard
  template:
    metadata:
      labels:
         app: kanboard
    spec:
      volumes:
      - name: data
        hostPath: 
         path:  /data/kanboard/data/
      - name: plugins
        hostPath:
         path: /data/kanboard/plugins/
      - name: ssl
        hostPath:
         path: /data/kanboard/ssl/
#      initContainers:
#      - name: volume-permissions
#        image: busybox:1.28
#        imagePullPolicy:  IfNotPresent
#        command:
#          - sh
#          - -c
#          - chmod 777 /data/kanboard/data/
#        volumeMounts:
#          - name: web
#            mountPath: /data/kanboard/data/

      containers: 
      - image:   kanboard/kanboard:v1.2.26
        name: my-kanboard
        ports:
        - name:  web 
          protocol: "TCP"
          containerPort: 80
        - name:  ssl
          protocol: "TCP"
          containerPort: 443


        env:
        - name: TZ
          value: "Asia/Shanghai"
       


        resources:         
         requests:
             cpu: 0.1
             memory: 0.1G
         limits:
             cpu: 1
             memory:  0.5G
        volumeMounts:
        - name: data
          mountPath: /var/www/html
        - name: plugins
          mountPath: var/www/app/plugins
        - name: ssl
          mountPath: /etc/nginx/ssl
      
---
apiVersion: v1
kind: Service
metadata:
  name: my-kanboard
  namespace: kanboard
spec:
  ports:
      - name: web
        protocol: TCP
        targetPort: 80
        port: 80
        nodePort: 30080
      - name: ssl
        protocol: TCP
        targetPort: 443
        port: 443
        nodePort: 30090

  selector:
      app: kanboard
  type: NodePort 

三、部署Kanboard

3.1、部署Kanboard服务

  • 应用kanboard.yaml文件
[root@k8s-master kanboard]# kubectl apply -f kanboard.yaml 
namespace/kanboard created
deployment.apps/kanboard created
service/my-kanboard created

3.2、检查pod状态

# 查看pod的详细信息
[root@k8s-master kanboard]# kubectl get pod -n kanboard -owide
NAME                        READY   STATUS    RESTARTS   AGE   IP              NODE         NOMINATED NODE   READINESS GATES
kanboard-7f447d6bd6-446rz   1/1     Running   0          32s   10.244.85.195   k8s-node01   <none>           <none>
kanboard-7f447d6bd6-xtmbl   1/1     Running   0          32s   10.244.58.195   k8s-node02   <none>           <none>

3.3、检查pod详细信息

  • 查看kanboard的pod详细信息
[root@k8s-master kanboard]# kubectl describe pod -n kanboard kanboard-7f447d6bd6-446rz
Name:         kanboard-7f447d6bd6-446rz
Namespace:    kanboard
Priority:     0
Node:         k8s-node01/192.168.93.102
Start Time:   Wed, 19 Jun 2024 12:13:11 +0800
Labels:       app=kanboard
              pod-template-hash=7f447d6bd6
Annotations:  cni.projectcalico.org/containerID: c3055ba62412aa10b5c1bbffa6ad3b54baeb0955d5e81ccbd020e907d395a537
              cni.projectcalico.org/podIP: 10.244.85.195/32
              cni.projectcalico.org/podIPs: 10.244.85.195/32
Status:       Running
IP:           10.244.85.195
IPs:
  IP:           10.244.85.195
Controlled By:  ReplicaSet/kanboard-7f447d6bd6
Containers:
  my-kanboard:
    Container ID:   docker://cb1b17cbd2e1d9db22b23354527f75f7af4534590adac88bb1b85b34271ee3e5
    Image:          kanboard/kanboard:v1.2.26
    Image ID:       docker://sha256:b33bb3dd71a619eb938f5592ec2096250187ad8edde0e5fbe34c8bd3f727b994
    Ports:          80/TCP, 443/TCP
    Host Ports:     0/TCP, 0/TCP
    State:          Running
      Started:      Wed, 19 Jun 2024 12:13:12 +0800
    Ready:          True
    Restart Count:  0
    Limits:
      cpu:     1
      memory:  500M
    Requests:
      cpu:     100m
      memory:  100M
    Environment:
      TZ:  Asia/Shanghai
    Mounts:
      /etc/nginx/ssl from ssl (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from default-token-7k9kj (ro)
      /var/www/html from data (rw)
      var/www/app/plugins from plugins (rw)
Conditions:
  Type              Status
  Initialized       True 
  Ready             True 
  ContainersReady   True 
  PodScheduled      True 
Volumes:
  data:
    Type:          HostPath (bare host directory volume)
    Path:          /data/kanboard/data/
    HostPathType:  
  plugins:
    Type:          HostPath (bare host directory volume)
    Path:          /data/kanboard/plugins/
    HostPathType:  
  ssl:
    Type:          HostPath (bare host directory volume)
    Path:          /data/kanboard/ssl/
    HostPathType:  
  default-token-7k9kj:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  default-token-7k9kj
    Optional:    false
QoS Class:       Burstable
Node-Selectors:  <none>
Tolerations:     node.kubernetes.io/not-ready:NoExecute for 300s
                 node.kubernetes.io/unreachable:NoExecute for 300s
Events:
  Type    Reason     Age   From                 Message
  ----    ------     ----  ----                 -------
  Normal  Scheduled  79s   default-scheduler    Successfully assigned kanboard/kanboard-7f447d6bd6-446rz to k8s-node01
  Normal  Pulled     78s   kubelet, k8s-node01  Container image "kanboard/kanboard:v1.2.26" already present on machine
  Normal  Created    78s   kubelet, k8s-node01  Created container my-kanboard
  Normal  Started    78s   kubelet, k8s-node01  Started container my-kanboard

3.4、查看service状态

  • 检查service状态。kanboard的外部访问端口为30080和30090
# servcie简称svc
[root@k8s-master kanboard]# kubectl get svc -n kanboard
NAME          TYPE       CLUSTER-IP      EXTERNAL-IP   PORT(S)                      AGE
my-kanboard   NodePort   10.109.78.136   <none>        80:30080/TCP,443:30090/TCP   2m59s

四、访问Kanboard平台

  • 访问地址:http://192.168.93.101:30080

  • 访问地址:http://192.168.93.101:30090

  • 用户名admin、登录密码:admin
    在这里插入图片描述
    在这里插入图片描述

  • 接下来就可以尽情的去研究啦!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/728695.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Hadoop三大组件原理详解:hdfs-yarn-MapReduce(第9天)

系列文章目录 一、HDFS读写原理【重点】 二、YARN提交mr流程【重点】 三、MapReduce计算流程【重点】 文章目录 系列文章目录前言一、HDFS读写原理[面试]1、HDFS数据写入解析2、HDFS数据读取解析 二、YARN提交mr流程[面试]1. YARN提交mr过程解析 三、MapReduce计算流程[面试]1…

探索监管沙箱在金融科技行业中的应用

一、引言 随着金融科技的快速发展&#xff0c;传统金融机构与科技企业之间的竞争也日趋激烈。为了平衡金融科技创新与风险防控&#xff0c;各国监管机构纷纷引入监管沙箱&#xff08;Regulatory Sandbox&#xff09;机制。监管沙箱作为一个受监督的安全测试区&#xff0c;允许金…

MySQL 面试突击指南:核心知识点解析1

MySQL中有哪些存储引擎? InnoDB存储引擎 InnoDB是MySQL的默认事务型引擎,也是最重要、使用最广泛的存储引擎,设计用于处理大量短期事务。 MyISAM存储引擎 在MySQL 5.1及之前版本,MyISAM是默认的存储引擎。它提供了全文索引、压缩、空间函数(GIS)等特性,但不支持事务和…

台积电(TSMC)正在探索采用新型先进芯片封装技术

台积电&#xff08;TSMC&#xff09;正在探索采用新型先进芯片封装技术&#xff0c;使用类似面板的矩形基板&#xff0c;以应对日益增长的先进多芯片组处理器需求。据日经亚洲报道&#xff0c;这项开发仍处于早期阶段&#xff0c;可能需要数年时间才能商业化&#xff0c;但如果…

Python酷库之旅-第三方库openpyxl(01)

目录 一、 openpyxl库的由来 1、背景 2、起源 3、发展 4、特点 4-1、支持.xlsx格式 4-2、读写Excel文件 4-3、操作单元格 4-4、创建和修改工作表 4-5、样式设置 4-6、图表和公式 4-7、支持数字和日期格式 二、openpyxl库的优缺点 1、优点 1-1、支持现代Excel格式…

【C语言 || 数据结构】二叉树

文章目录 前言 二叉树1.树1.1树的定义1.2 树的结构 2.特殊的树&#xff08;二叉树&#xff09;2.1 二叉树的概念2.2 特殊的二叉树2.3 二叉树的储存2.3.1 顺序储存二叉树2.3.2 链表储存二叉树 2.4 二叉树的遍历2.4.1 二叉树的中序遍历2.4.2 二叉树的前序遍历2.4.3 二叉树的后序遍…

【React】使用Token做路由权限控制

在components/AuthRoute/index.js中 import { getToken } from /utils import { Navigate } from react-router-domconst AuthRoute ({ children }) > {const isToken getToken()if (isToken) {return <>{children}</>} else {return <Navigate to"/…

Solr9 如何使用 DIH 读取数据库索引数据

使用 Solr 9 中的数据导入处理程序&#xff08;DIH&#xff09; DIH&#xff08;Data Import Handler&#xff09;提供了一种可配置的方式向 Solr 中导入数据。 从 Solr 9 开始&#xff0c;数据导入处理程序&#xff08;DIH&#xff09;已经不再直接包含在 Solr 中&#xff0c…

【Linux】关于在华为云中开放了端口后仍然无法访问的问题

已在安全组中添加规则: 通过指令: netstat -nltp | head -2 && netstat -nltp | grep 8080 运行结果: 可以看到服务器确实处于监听状态了. 通过指令 telnet 公网ip port 也提示: "正在连接xxx.xx.xx.xxx...无法打开到主机的连接。 在端口 8080: 连接失败"…

[WTL/Win32]_[中级]_[MVP架构在实际项目中的应用]

场景 在开发Windows和macOS的界面软件时&#xff0c;Windows用的是WTL/Win32技术&#xff0c;而macOS用的是Cocoa技术。而两种技术的本地语言一个主打是C,另一个却是Object-c。界面软件的源码随着项目功能增多而增多&#xff0c;这就会给同步Windows和macOS的功能造成很大负担…

数据驱动制造:EMQX ECP 指标监测功能增强生产透明度

迈向未来的工业生产&#xff0c;需要的不仅是自动化&#xff0c;更是智能化。如果工业企业的管理者能够实时监测每一生产环节的设备运行状态&#xff0c;每一数据点位情况&#xff0c;洞察和优化每一步生产流程&#xff0c;他们将能够做出更精准的决策&#xff0c;提高生产效率…

记录SpringBoot启动报错解决

记录SpringBoot启动报错解决 报错现场 Failed to configure a DataSource: url attribute is not specified and no embedded datasource could be configured. Reason: Failed to determine a suitable driver class Action: Consider the following:If you want an embedde…

紧凑型计算微型仿生复眼

欢迎关注&#xff1a;GZH《光场视觉》 图1 研制的计算微型复眼的成像原理 1. 导读 微型曲面复眼由于具有大视场成像、大景深成像、体积较小的优势&#xff0c;在机器视觉、无人机导航、生物灵感机器人等领域引起了广泛关注。然而&#xff0c;传统的微型曲面复眼存在设计/加工…

44、基于深度学习的癌症检测(matlab)

1、基于深度学习的癌症检测原理及流程 基于深度学习的癌症检测是利用深度学习算法对医学影像数据进行分析和诊断&#xff0c;以帮助医生准确地检测癌症病变。其原理和流程主要包括以下几个步骤&#xff1a; 数据采集&#xff1a;首先需要收集包括X光片、CT扫描、MRI等医学影像…

Shiro721 反序列化漏洞(CVE-2019-12422)

目录 Shiro550和Shiro721的区别 判断是否存在漏洞 漏洞环境搭建 漏洞利用 利用Shiro检测工具 利用Shiro综综合利用工具 这一篇还是参考别的师傅的好文章学习Shiro的反序列化漏洞 上一篇也是Shiro的反序列化漏洞&#xff0c;不同的是一个是550一个是721&#xff0c;那么这…

基于SSM+Jsp的水果销售管理网站

开发语言&#xff1a;Java框架&#xff1a;ssm技术&#xff1a;JSPJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包…

技术速递|Java on Azure Tooling 5月更新 - Java 对 Azure 容器应用程序的入门指南支持

作者&#xff1a;Jialuo Gan 排版&#xff1a;Alan Wang 大家好&#xff0c;欢迎阅读 Java on Azure 工具 5 月份更新。在本次更新中&#xff0c;我们将介绍 Java 在 Azure 上的容器应用程序的入门指南。希望您喜欢这些更新&#xff0c;并享受使用 Azure 工具包的流畅体验。请下…

在4面体空间内2点结构占比

有一个4面体状空间&#xff0c;由3层甲烷状分子堆积而成&#xff0c;单个甲烷4面体边长10. 内有30个点&#xff0c;在30个点中取2点&#xff0c;有30*29/2435种取法。这里要求两个点的距离必须为6.123 在435个结构中只有40个符合要求 序数 结构 序数 结构 3 1 282 3 7…

如何利用AI大模型设计电机本体?

一、背景 AI在电机本体设计中的应用正逐渐成为提升设计效率、优化性能和降低成本的重要手段。通过深度学习、机器学习、计算机辅助设计&#xff08;CAD&#xff09;和仿真技术的结合&#xff0c;AI能够帮助工程师更快速准确地完成电机的设计与优化工作。以下是AI在电机本体设计…

会声会影2024旗舰版汉化最新安装包下载方法步骤

嗨&#xff0c;亲爱的CSDN的朋友们&#xff01;&#x1f389;今天&#xff0c;我要跟大家分享一款让你的视频编辑体验升级的神器——会声会影2024最新版本&#xff01;✨如果你是一个热衷于创作视频内容的创作者&#xff0c;那么你一定不能错过这个软件。它不仅功能强大&#x…