Kubernetes部署Kanboard看板管理平台

news2025/1/15 17:48:05

【云原生】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
    在这里插入图片描述
    在这里插入图片描述

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

字节跳动的丝绸之路,豆包或将成为赛博“杨枝甘露”

大数据产业创新服务媒体 ——聚焦数据 改变商业 关于字节跳动有一个所有人都知道的秘密&#xff0c;那就是他们正在想方设法地海外扩张&#xff0c;以全球市场来驱动企业的新增长。美国曾经是字节跳动的第二战场&#xff0c;但是随着华盛顿相关法案的出台&#xff0c;在各种不…

推荐5个AI辅助生成论文、降低查重率的网站【2024最新】

一、引言 对于忙碌的学生来说&#xff0c;毕业论文通常是一项艰巨的任务。幸运的是&#xff0c;随着人工智能技术的发展&#xff0c;现在有一些工具可以帮助学生轻松完成论文。本文将介绍五个免费的AI工具&#xff0c;它们能够一键帮助你生成毕业论文&#xff0c;让你的学术生…

2024广东省职业技能大赛云计算赛项实战——Redis主从架构

Redis主从架构 前言 Redis是一个开源的内存数据结构存储系统&#xff0c;一般用于作为数据库、缓存和消息代理使用&#xff0c;而主从架构是许多分布式系统中常见的设计模式&#xff0c;用来提高系统的性能、可靠性和扩展性。 虚拟机使用的是自行创建的CentOS7&#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…

反转链表(java精简版)

反转一个单向链表。 public class ReversingLinkedList {static class Node {int val;Node next;public Node(int val) {this.val val;}public boolean hasNext() {return next ! null;}}public static void main(String[] args) {//构造Node head null;Node shift null;for…

MobileNet系列论文阅读笔记(MobileNetV1、MobileNetV2和MobileNetV3)

目录 引言MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications摘要Prior Work -- 先前工作MobileNet Architecture— MobileNet结构Depthwise Separable Convolution—深度可分离卷积Network Structure -- 网络结构 总结 MobileNetV2: Invert…

视频共享融合赋能平台LntonCVS视频监控业务平台建设安全煤矿矿井应用方案

随着我国经济的飞速增长&#xff0c;煤炭作为主要的能源之一&#xff0c;在我国的能源结构中扮演着至关重要的角色。然而&#xff0c;煤矿事故的频繁发生&#xff0c;不仅造成了巨大的人员伤亡和财产损失&#xff0c;也对社会产生了深远的负面影响。因此&#xff0c;实现煤矿的…

transformers Model

☆ 问题描述 在 transformers 框架中&#xff0c;Model 模块是核心组件之一&#xff0c;提供了多种预训练模型及其相关功能&#xff0c;广泛应用于自然语言处理&#xff08;NLP&#xff09;任务。 ★ 解决方案 # 导入相关文件 from transformers import AutoConfig, AutoM…

【odoo】常用的字符转义:“>“,“<“,““,“/“等

概要 字符转义是指在编写代码或处理文本数据时&#xff0c;将特殊字符转换为另一种形式&#xff0c;以便在特定的上下文中正确解析和处理这些字符。 内容 特殊字符描述XML转义表示法&和符号&amp;<小于符号<>大于符号>"双引号&quot;单引号&ap…

Day1:基础语法

今日目标&#xff1a;理解什么是变量、掌握常用的数据类型、学会数据类型转换 一、JavaScript 介绍 1. JavaScript 基础知识 主要讲解 &#xff1a;JavaScript 是什么、书写位置、注释、结束符、输入和输出语法、字面量。 1.1 JavaScript 是什么 是一种运行在客户端(浏览器…

B端业务需求分析的3大注意事项

通过深入分析业务需求&#xff0c;可以准确理解B端用户的具体需求&#xff0c;帮助项目团队设计出真正解决企业问题、提高工作效率的产品或服务。这减少了后期变更&#xff0c;节约了时间和资源。如果没有深入分析业务需求&#xff0c;产品或服务功能可能与实际业务需求脱节&am…

PHP转Go系列 | 数组切片的使用姿势

大家好&#xff0c;我是码农先森。 简介 在 PHP 语言中数组的使用很简单&#xff0c;易用程度简直变态&#xff0c;无论多么复杂的数据格式都可以用数组来表达&#xff0c;可以随心所欲的使用。 <?php $array [1, name, [sex > 男]]; print_r($array);$array []; $…

【LLM之NL2SQL】DAIL-SQL论文阅读笔记

研究背景 该研究旨在提供一个全面、系统的评估框架&#xff0c;用于评估基于大型语言模型&#xff08;LLM&#xff09;的Text-to-SQL技术。特别强调了不同的提示工程策略的有效性和效率&#xff0c;以及开源LLM的可行性。研究的重点是评估在零样本和少样本场景下的不同问题表示…

1.3自然语言的分布式表示-word2vec

文章目录 0基于计数的方法的问题1什么是基于推理的方法2神经网络中单词的表示2.1 MatMul 层的实现 3简单word2vec的实现3.1 CBOW模型的结构3.1.1神经元视角3.1.2层的视角3.1.3多层共享权重时存在的问题 3.2 CBOW模型的学习3.3单词的分布式表示 代码都位于&#xff1a;nlp&#…

《梦醒蝶飞:释放Excel函数与公式的力量》4.1if函数

第4章&#xff1a;逻辑与条件函数 第一节4.1 if函数 在Excel中&#xff0c;逻辑函数用于处理基于特定条件的真假判断&#xff0c;它们是构建复杂公式和进行高级数据分析的基础。本章将深入探讨逻辑函数的使用方法&#xff0c;特别是IF函数&#xff0c;这是Excel中最为常用的条…

Node.js 是一个开源的 跨平台的JavaScript运行环境

https://www.npmjs.com/ 中央仓库 Visual Studio Code - Code Editing. Redefined https://openjsf.org/ OpenJS 促进了关键 JavaScript 技术在全球范围内的广泛采用和持续发展。 Apache服务器 Nginx服务器 Tomcat服务器 Node.js服务器 Gunicorn服务器 uW…

6个步骤实现 Postman 接口压力测试

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 点击文末小卡片 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 这里讲是Postman做接口并发测试&#xff0c;基础用法不做赘述 1、第一步接口可以通的情况下点击…

番外篇 | FFCA-YOLO复现:面向遥感图像的小目标检测最新方法 | 解决小目标检测特征表示不足和背景混淆等问题

前言:Hello大家好,我是小哥谈。在论文中,作者的动机是设计一个高精度同时具备潜在的实时处理能力的小目标检测器。由此,作者首先分别提出了特征增强模块(FEM)与空间上下文感知模块(SCAM)来丰富局部和全局的上下文特征信息。其中,FEM通过多分支卷积拓宽了骨干网络的感受…

oracle发送https请求

参照 https://docs.oracle.com/cd/E11882_01/appdev.112/e40758/u_http.htm#i1025869 https://docs.oracle.com/cd/E11882_01/network.112/e40393/asowalet.htm#ASOAG160 https://docs.oracle.com/cd/E11882_01/appdev.112/e40758/d_networkacl_adm.htm#ARPLS148 https://d…

环境配置01:Torch、CUDA适配与显卡驱动更新

说明&#xff1a; torch版本依赖于CUDA版本与Python版本 Start Locally | PyTorch CUDA版本依赖于显卡驱动版本 1. CUDA 12.5 Release Notes — Release Notes 12.5 documentation 显卡驱动版本依赖于显卡型号与电脑系统 当前电脑3060显卡&#xff0c;安装了CUDA V11.6与tor…