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: kanboardname: kanboardnamespace: kanboard
spec:replicas: 2selector:matchLabels:app: kanboardtemplate:metadata:labels:app: kanboardspec:volumes:- name: datahostPath: path:  /data/kanboard/data/- name: pluginshostPath:path: /data/kanboard/plugins/- name: sslhostPath: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.26name: my-kanboardports:- name:  web protocol: "TCP"containerPort: 80- name:  sslprotocol: "TCP"containerPort: 443env:- name: TZvalue: "Asia/Shanghai"resources:         requests:cpu: 0.1memory: 0.1Glimits:cpu: 1memory:  0.5GvolumeMounts:- name: datamountPath: /var/www/html- name: pluginsmountPath: var/www/app/plugins- name: sslmountPath: /etc/nginx/ssl---
apiVersion: v1
kind: Service
metadata:name: my-kanboardnamespace: kanboard
spec:ports:- name: webprotocol: TCPtargetPort: 80port: 80nodePort: 30080- name: sslprotocol: TCPtargetPort: 443port: 443nodePort: 30090selector:app: kanboardtype: 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=kanboardpod-template-hash=7f447d6bd6
Annotations:  cni.projectcalico.org/containerID: c3055ba62412aa10b5c1bbffa6ad3b54baeb0955d5e81ccbd020e907d395a537cni.projectcalico.org/podIP: 10.244.85.195/32cni.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://cb1b17cbd2e1d9db22b23354527f75f7af4534590adac88bb1b85b34271ee3e5Image:          kanboard/kanboard:v1.2.26Image ID:       docker://sha256:b33bb3dd71a619eb938f5592ec2096250187ad8edde0e5fbe34c8bd3f727b994Ports:          80/TCP, 443/TCPHost Ports:     0/TCP, 0/TCPState:          RunningStarted:      Wed, 19 Jun 2024 12:13:12 +0800Ready:          TrueRestart Count:  0Limits:cpu:     1memory:  500MRequests:cpu:     100mmemory:  100MEnvironment:TZ:  Asia/ShanghaiMounts:/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              StatusInitialized       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-7k9kjOptional:    false
QoS Class:       Burstable
Node-Selectors:  <none>
Tolerations:     node.kubernetes.io/not-ready:NoExecute for 300snode.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-node01Normal  Pulled     78s   kubelet, k8s-node01  Container image "kanboard/kanboard:v1.2.26" already present on machineNormal  Created    78s   kubelet, k8s-node01  Created container my-kanboardNormal  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.mzph.cn/diannao/31492.shtml

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

相关文章

日常工作中常用的管理工具

日常工作中常用的管理工具 SWOT分析法&#xff1a; 帮你清晰地把我全局&#xff0c;分析自己在资源方面的优势域劣势&#xff0c;把握环境提供的机会&#xff0c;防范可能存在的风险与威胁&#xff0c;对我们的成功有非常重要的意义 PDCA循环规则&#xff1a; 每一项工作&#…

如何使用LiveTargetsFinder生成实时活动主机URL列表

关于LiveTargetsFinder LiveTargetsFinder是一款功能强大的实时活动主机生成工具&#xff0c;该工具可以为广大研究人员以自动化的形式生成可供分析和测试的实时活动主机URL列表&#xff0c;并通过MassDNS、Masscan和Nmap自动过滤出无法访问的主机。 我们只需要提供一个域名作…

代码随想录第30天|贪心算法

122.买卖股票的最佳时机II 给你一个整数数组 prices &#xff0c;其中 prices[i] 表示某支股票第 i 天的价格。 在每一天&#xff0c;你可以决定是否购买和/或出售股票。你在任何时候 最多 只能持有 一股 股票。你也可以先购买&#xff0c;然后在 同一天 出售。 返回 你能获得…

SAP PP学习笔记23 - 生产订单(制造指图)的元素2 - 决济规则(结算规则)

上一章讲了生产订单&#xff08;制造指图&#xff09;画面的基本元素。 SAP PP学习笔记22 - 生产订单&#xff08;制造指图&#xff09;的元素1-CSDN博客 本章继续讲生产订单上面的其他元素。 1&#xff0c;Settlement rule&#xff08;决济规则(结算规则)&#xff09;概要 M…

springboot容器功能

springboot容器 容器功能Spring注入组件的注解Component&#xff0c;Controller&#xff0c;Service&#xff0c;Repository案例演示 Configuration应用实例传统方式使用Configuration 注意事项和细节 Import应用实例 ConditionalConditional介绍应用实例 ImportResource应用实…

Microsoft Office免费下载安装

文章目录 前言一、下载Office Tool Plus二、部署步骤1.移除本机低版本office2.部署设置3.开始部署 前言 本人一直支持国产WPS&#xff08;因为正版Microsoft Office需要花钱&#xff09;。直到某天接触到一款免费部署Microsoft Office的软件——Office Tool Plus&#xff0c;简…

C++ //CCF-CSP计算机软件能力认证 202406-1 矩阵重塑(其一)

CCF-CSP计算机软件能力认证 202406-1 矩阵重塑&#xff08;其一&#xff09; 题目背景 矩阵&#xff08;二维&#xff09;的重塑&#xff08;reshape&#xff09;操作是指改变矩阵的行数和列数&#xff0c;同时保持矩阵中元素的总数不变。 题目描述 矩阵的重塑操作可以具体…

BEV端到端视觉论文合集|从不同的视角解析BEV感知技术

随着自动驾驶技术的不断发展&#xff0c;基于摄像头的感知系统已成为关键&#xff0c;而Bird’s Eye View (BEV)大模型在其中发挥着重要作用。BEV大模型是一种将摄像头捕捉到的2D图像转换为自上而下视角的3D感知的技术&#xff0c;使得车辆能够更好地理解周围环境。 BEV大模型…

高职人工智能专业实训课之“图像识别基础”

一、前言 随着人工智能技术的迅猛发展&#xff0c;高职院校对人工智能专业实训课程的需求日益迫切。唯众人工智能教学实训平台作为一所前沿的教育技术平台&#xff0c;致力于为学生提供高效、便捷的人工智能实训环境&#xff0c;特别在“图像识别基础”这一关键课程中&#xf…

ubuntu多版本cuda如何指定cuda版本

本文作者&#xff1a; slience_me ubuntu多版本cuda如何指定cuda版本 文章目录 ubuntu多版本cuda如何指定cuda版本1. 关于cuda设置1.1 查看当前安装的 CUDA 版本1.2 下载并安装所需的 CUDA 版本1.3 设置环境变量1.4 验证切换1.5 安装对应的 NVIDIA 驱动程序 2. 设置环境变量2.1…

【机器学习 复习】第5章 朴素贝叶斯分类器

一、概念 1.贝叶斯定理&#xff1a; &#xff08;1&#xff09;就是“某个特征”属于“某种东西”的概率&#xff0c;公式就是最下面那个公式。 2.朴素贝叶斯算法概述 &#xff08;1&#xff09;是为数不多的基于概率论的分类算法&#xff0c;即通过考虑特征概率来预测分类。 …

如何使用DeadFinder寻找失效链接

关于DeadFinder DeadFinder是一款功能强大的链接分析工具&#xff0c;该工具可以帮助广大研究人员快速地寻找目标页面中的无效链接&#xff08;死链&#xff09;。所谓死链&#xff0c;即一个页面中存在的无法被连接的一条链接。这些链接如果一直保留在页面中的话&#xff0c;…

【论文笔记】LoRA LOW-RANK ADAPTATION OF LARGE LANGUAGE MODELS

题目&#xff1a;LoRA: LOW-RANK ADAPTATION OF LARGE LANGUAGE MODELS 来源: ICLR 2022 模型名称: LoRA 论文链接: https://arxiv.org/abs/2106.09685 项目链接: https://github.com/microsoft/LoRA 文章目录 摘要引言问题定义现有方法的问题方法将 LORA 应用于 Transformer 实…

深度学习:从理论到应用的全面解析

引言 深度学习作为人工智能&#xff08;AI&#xff09;的核心技术之一&#xff0c;在过去的十年中取得了显著的进展&#xff0c;并在许多领域中展示了其强大的应用潜力。本文将从理论基础出发&#xff0c;探讨深度学习的最新进展及其在各领域的应用&#xff0c;旨在为读者提供全…

5G与4G的区别

“4G改变生活&#xff0c;5G改变社会”&#xff0c;已经成为了通信行业的流行语。通信的变革日新月异&#xff0c;从以前的1G只能接听电话&#xff0c;到2G可以发送短信&#xff0c;时光飞逝&#xff0c;4G将智能带进了我们的生活&#xff0c;每一个“G”的进步&#xff0c;都极…

Java宝藏实验资源库(4)对象数组

一、实验目的 学习面向对象程序设计的方法。学习建立对象数组的方法。 学习在数组中存储和处理对象。 二、实验内容、过程及结果 **10.7 (Game: ATM machine) Use the Account class created in Programming Exer cise 9.7 to simulate an ATM machine. Create ten accou…

大数据存储技术笔记

目录 大数据的特性 HDFS 读流程的基本步骤 HDFS 写流程的基本步骤 Mapreduce的执行过程 MapReduce 中 combiner 作用 hadoop 调度器及其工作方法 Hive 中内部表与外部表区别(创建删除角度) Hadoop 的 2 个主要组件及其功能 Hadoop MapReduce 的工作流程 正常工作的 ha…

AWS Lambda + Flask 应用示例

前言 AWS Lambda 本身是一个以事件驱动的 Serverless 服务, 最简单的应用就是在入口函数中对接收到的事件/请求进行处理并返回响应. 对于像 Flask 这样的 Web 框架, 并不能直接在 Lambda 上提供服务, 不过我们可以借助 AWS Lambda Web Adapter 实现一个基于 Flask 框架的 Web …

IDEA、PyCharm等基于IntelliJ平台的IDE汉化方式

PyCharm 或者 IDEA 等编辑器是比较常用的&#xff0c;默认是英文界面&#xff0c;有些同学用着不方便&#xff0c;想要汉化版本的&#xff0c;但官方没有这个设置项&#xff0c;不过可以通过插件的方式进行设置。 方式1&#xff1a;插件安装 1、打开设置 File->Settings&a…

iptables(4)规则匹配条件

简介 前面我们已经介绍了iptables的基本原理,表、链,数据包处理流程。如何查询各种表的信息。还有基本的增、删、改、保存的基础操作。 经过前文介绍,我们已经能够熟练的管理规则了,但是我们只使用过一种匹配条件,就是将”源地址”作为匹配条件。那么这篇文章中,我们就来…