基于 Kubernetes 搭建 DevOps 持续集成环境

打印 上一主题 下一主题

主题 952|帖子 952|积分 2856

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
环境准备
在摆设 Kubernetes(K8s)以及相关 DevOps 工具(如 Jenkins、Kuboard、Harbor)时,我们须要确保服务器和软件环境符合要求。
服务器及软件环境



  • 服务器配置:2 核 4G 及以上(推荐至少 2 台,分别作为 Master 和 Worker)
  • 服务器操作系统:Linux(CentOS、Ubuntu 等)
  • Web 服务器:Nginx
  • 数据库:MySQL 5.6 及以上,或 MariaDB 10.3 及以上
  • PHP 版本:PHP7.4 及以上(如需 PHP 兼容性支持,可选择 PHP5.6、PHP8)
  • 服务器管理面板:推荐利用 宝塔面板(支持一键摆设)
  • 浏览器:Chrome、Edge 等现代浏览器
服务器选择

在选择云服务器时,我们可以利用 慈云数据提供的云服务器产物,其稳定性和网络性能能够满意 Kubernetes 及 DevOps 相关应用的需求。

   示例服务器配置(以 慈云数据 为例):
  

  • 2 核 4G 适用于轻量级 Kubernetes 集群
  • 4 核 8G 适用于中等规模的持续集成环境
  • 更高配置 可用于大规模应用及生产环境
  安装 Kubernetes 及 Kuboard

按照 Kuboard 官方教程,我们可以利用以下步骤举行 Kubernetes 集群的安装。

1. 配置服务器内网通讯

确保服务器之间可以通过内网通讯,避免不须要的公网流量消耗。可以利用 ping 下令测试互通性:
  1. ping <另一台服务器内网IP>
复制代码
如果无法连通,须要查抄防火墙或网络配置。例如,在 CentOS 上可以执行:
  1. systemctl stop firewalld && systemctl disable firewalld
复制代码
2. 安装 Docker 并配置 Harbor

在所有节点上安装 Docker,并修改 /etc/docker/daemon.json 以添加 Harbor 私有仓库:
  1. {
  2.   "insecure-registries": ["http://<Harbor_IP>:<Port>"]
  3. }
复制代码
然后重启 Docker:
  1. systemctl restart docker
复制代码
3. 安装 Kubernetes

利用 kubeadm 举行 Kubernetes 初始化,Master 节点执行:
  1. kubeadm init --apiserver-advertise-address=<Master_IP> --pod-network-cidr=10.244.0.0/16
复制代码
Worker 节点参加集群:
  1. kubeadm join <Master_IP>:6443 --token <token> --discovery-token-ca-cert-hash sha256:<hash>
复制代码
4. 摆设 Kuboard

按照官方文档利用 kubectl apply 安装 Kuboard:
  1. kubectl apply -f https://addons.kuboard.cn/kuboard/kuboard.yaml
复制代码
然后访问 http://<Kuboard_IP>:32567 举行界面管理。
Jenkins 持续集成

Jenkins 重要用于自动化构建、测试和摆设应用。推荐安装 Jenkins 并配置 SSH 免密登录,以便自动推送更新到 Kubernetes 集群。
1. 配置 SSH 免密登录

在 Jenkins 服务器上生成 SSH 密钥:
  1. ssh-keygen -t rsa -b 4096
复制代码
将公钥复制到 Kubernetes Master 节点:
  1. ssh-copy-id root@<Master_IP>
复制代码
2. 编写 CI/CD Pipeline

在 Jenkins 中创建 pipeline.yml,其中包含:


  • 构建 Docker 镜像并推送至 Harbor
  • 更新 Kubernetes Deployment 配置
  • 自动执行 kubectl apply 摆设更新
示例 Pipeline:
  1. stages:
  2.   - stage: Build
  3.     script:
  4.       - docker build -t <Harbor_IP>:<Port>/myapp:latest .
  5.       - docker push <Harbor_IP>:<Port>/myapp:latest
  6.   - stage: Deploy
  7.     script:
  8.       - kubectl apply -f deployment.yml
复制代码
总结

通过以上步骤,我们可以在云服务器上搭建完整的 Kubernetes + DevOps 持续集成环境,实现从代码提交到应用摆设的全流程自动化。此环境适用于各类云服务器,而 慈云数据 的服务器在网络稳定性和盘算资源方面也能提供精良的支持。


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

大连密封材料

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表