TKEStack容器管理平台实战之部署wordpress应用

TKEStack容器管理平台实战之部署wordpress应用

  • 一、TKEStack介绍
    • 1.1 TKEStack简介
    • 1.2 TKEStack特点
    • 1.3 TKEStack架构图
  • 二、kubernetes集群介绍
    • 2.1 k8s简介
    • 2.2 k8s架构图
  • 三、本次实践介绍
    • 3.1 实践环境要求
    • 3.2 本次实践环境规划
    • 3.3 本次实践简介
  • 四、安装容器管理平台
    • 4.1 安装TKEStack
    • 4.2 TKEStack基本设置
    • 4.3 集群设置
    • 4.4 认证设置
    • 4.5 镜像仓库设置
    • 4.6 业务设置
    • 4.7 监控设置
    • 4.8 控制台设置
    • 4.9 配置预览
    • 4.10 开始安装
  • 五、访问TKEStack容器平台
    • 5.1 访问TKEStack首页
    • 5.2 添加Global集群工作节点
    • 5.3 查看Global集群工作节点
    • 5.4 查看TKEStack首页概览
  • 六、导入本地k8s集群
    • 6.1 检查本地k8s集群状态
    • 6.2 下载本地k8s集群kubeconfig文件
    • 6.3 上传kubeconfig文件
    • 6.4 查看导入集群状态
    • 6.5 查看首页概览页面
  • 七、部署wordpress应用
    • 7.1 yaml创建资源
    • 7.2 编写yaml部署文件
    • 7.3 部署wordpress应用
    • 7.4 检查工作负载状态
    • 7.5 检查service状态
  • 八、wordpress的初始化
    • 8.1 进入wordpress的初始安装界面
    • 8.2 设置网站信息
  • 九、访问wordpress
    • 9.1 访问wordpress首页
    • 9.2 访问wordpress后台管理

一、TKEStack介绍

1.1 TKEStack简介

TKEStack是一个开源项目,为在生产中部署容器的组织提供容器管理平台。TKEStack让您可以轻松地在任何地方运行Kubernetes、满足 IT 要求并为DevOps团队提供支持。

1.2 TKEStack特点

  • 统一集群管理
    用于集中管理多个 Kubernetes 集群的 Web 控制台和命令行客户端。
    与现有身份验证机制集成,包括LDAP、OIDC、前端代理和公共 OAuth 提供商(例如 GitHub)。
    统一的授权管理,不仅是集群管理层面,甚至是Kubernetes资源层面。
    多租户支持,包括容器、构建和网络通信的团队和用户隔离。
  • 应用程序工作负载管理
    提供直观的 UI 界面来支持可视化和 YAML 导入以及其他资源创建和编辑方法,使用户无需预先学习所有 Kubernetes 概念即可运行容器。
    抽象的项目级资源容器,支持跨多个集群的多个命名空间管理和部署应用程序。
  • 运维管理
    集成系统监控和应用程序监控。
    持久的 Kubernetes 事件和审核日志。
    限制、跟踪和管理平台上的开发人员和团队。
  • 插件支持和管理
    身份验证身份提供者插件。
    授权提供商插件。
    事件持久存储插件。
    系统和应用程序日志持久存储插件。
    Galaxy(网络)、TApp(工作负载)、GPUManage(GPU)、CronHPA(HPA)、LBCF(负载平衡)

1.3 TKEStack架构图

请在此添加图片描述

二、kubernetes集群介绍

2.1 k8s简介

kubernetes,简称K8s,是用8代替名字中间的8个字符“ubernete”而成的缩写。Kubernetes是一种开源的容器编排和管理平台,它可以帮助我们在分布式的环境中管理容器化的应用。Kubernetes可以让开发者和运维人员通过定义和管理Pod、Service、Deployment等资源来部署和管理应用程序,使得应用程序更易于部署、扩展和管理。

2.2 k8s架构图

kubernetes集群架构示意图

在这里插入图片描述

三、本次实践介绍

3.1 实践环境要求

TKEStack容器管理平台部署环境要求需按如下准备,由于是测试环境,本次部署节点的硬件配置略低于官方要求。

TKEStack部署环境要求如下:

  • 硬件
    8 个虚拟CPU
    16 GB 内存
    100 GB 磁盘空间
  • 操作系统
    ≥ Ubuntu 16.04/18.04 LTS(64 位)
    ≥ CentOS Linux 7.6(64 位)
    ≥Tencent Linux 2.2

3.2 本次实践环境规划

  • TKEStack的Global集群
hostnameIP地址操作系统版本k8s版本角色
master192.168.3.141centos7.91.21.4-tke.3master节点/TKEStack安装节点
node01192.168.3.142centos7.91.21.4-tke.3worker节点
node02192.168.3.143centos7.91.21.4-tke.3worker节点
  • 本地k8s集群
hostnameIP地址操作系统版本k8s版本角色
k8s-master192.168.3.201centos7.6v1.27.4master节点
k8s-node01192.168.3.202centos7.6v1.27.4worker节点
k8s-node02192.168.3.203centos7.6v1.27.4worker节点

3.3 本次实践简介

1.部署TKEStack容器管理平台;
2.在TKEStack容器管理平台部署wordpress应用。

四、安装容器管理平台

4.1 安装TKEStack

在master安装节点上,执行以下命令,Web GUI 将引导初始化并安装TKEStack 的Global集群和控制台。

# Choose installation package according to your installation node CPU architecture [amd64, arm64]
arch=amd64 version=v1.9.0 && wget https://tke-release-1251707795.cos.ap-guangzhou.myqcloud.com/tke-installer-linux-$arch-$version.run{,.sha256} && sha256sum --check --status tke-installer-linux-$arch-$version.run.sha256 && chmod +x tke-installer-linux-$arch-$version.run && ./tke-installer-linux-$arch-$version.run

在安装过程中需要耐心等待一段时间,出现以下提示时,表示TKEStack已经初步安装成功。

请在此添加图片描述

4.2 TKEStack基本设置

访问地址:http://192.168.3.141:8080/,进入TKEStack初始配置页面。在账户设置中,设置用户名和密码,高可用这里选择不设置。

请在此添加图片描述

4.3 集群设置

网卡名称:eth0
GPU类型:不使用
容器网络CIDR:10.0.0.0/14
master节点:192.168.3.141/ssh端口22/密码认证
其余默认,下一步即可。

请在此添加图片描述

4.4 认证设置

使用TKE提供的用户认证功能

请在此添加图片描述

4.5 镜像仓库设置

选择默认的TKE提供

请在此添加图片描述

4.6 业务设置

选择开启业务模块,默认是开启状态。

请在此添加图片描述

4.7 监控设置

监控存储类型:TKE提供。

请在此添加图片描述

4.8 控制台设置

默认设置即可。

请在此添加图片描述

4.9 配置预览

检查所有配置是否正确,点击安装。

请在此添加图片描述

4.10 开始安装

TKEStack初始化安装过程有点长,需要耐心等待安装完成即可。

请在此添加图片描述

出现以下界面,表示TKEStack容器管理平台安装完毕,

请在此添加图片描述

五、访问TKEStack容器平台

5.1 访问TKEStack首页

访问地址:https://192.168.3.141/,将IP替换为自己安装节点的IP地址。输入账号密码,进入TKEStack首页。

请在此添加图片描述

请在此添加图片描述

5.2 添加Global集群工作节点

在集群管理——global集群,点击进入global集群管理页面。

请在此添加图片描述

请在此添加图片描述

在global集群管理页面,点击节点管理——节点,选择添加节点。

请在此添加图片描述

填写目标机器信息:
目标机器:192.168.3.142
SSH端口:22
认证方式:密码认证
填写node01工作节点的root账号和密码,其余默认,保存即可。

请在此添加图片描述

按照以上配置,添加第二台工作节点node02,添加即可。

请在此添加图片描述

5.3 查看Global集群工作节点

等待节点初始化完成,看到各节点状态为正常Running状态即可。

请在此添加图片描述

5.4 查看TKEStack首页概览

查看TKEStack首页概览,可以看到当前资源概览和集群状态

请在此添加图片描述

六、导入本地k8s集群

6.1 检查本地k8s集群状态

检查本地k8s集群的工作节点状态

[root@k8s-master ~]# kubectl get nodes
NAME         STATUS   ROLES           AGE    VERSION
k8s-master   Ready    control-plane   120d   v1.27.4
k8s-node01   Ready    <none>          120d   v1.27.4
k8s-node02   Ready    <none>          120d   v1.27.4

检查本地k8s集群的系统pod状态

[root@k8s-master ~]# kubectl get pods -n kube-system
NAME                                       READY   STATUS    RESTARTS      AGE
calico-kube-controllers-85578c44bf-gw2km   1/1     Running   3 (88m ago)   120d
calico-node-8tts7                          1/1     Running   3 (88m ago)   120d
calico-node-fx8mv                          1/1     Running   3 (88m ago)   120d
calico-node-n8rt4                          1/1     Running   3 (88m ago)   120d
coredns-7bdc4cb885-5vgx8                   1/1     Running   3 (88m ago)   120d
coredns-7bdc4cb885-l22fj                   1/1     Running   3 (88m ago)   120d
etcd-k8s-master                            1/1     Running   4 (88m ago)   120d
kube-apiserver-k8s-master                  1/1     Running   4 (88m ago)   120d
kube-controller-manager-k8s-master         1/1     Running   4 (88m ago)   120d
kube-proxy-6vvw5                           1/1     Running   3 (88m ago)   120d
kube-proxy-867jg                           1/1     Running   3 (88m ago)   120d
kube-proxy-lgsc8                           1/1     Running   3 (88m ago)   120d
kube-scheduler-k8s-master                  1/1     Running   4 (88m ago)   120d

6.2 下载本地k8s集群kubeconfig文件

下载本地k8s集群kubeconfig文件,一般默认位置在~/.kube/config。

root@k8s-master ~# ls -l ~/.kube/config

-rw------- 1 root root 5649 Aug  2 09:56 /root/.kube/config

6.3 上传kubeconfig文件

上传kubeconfig文件,提交即可。

请在此添加图片描述

6.4 查看导入集群状态

查看导入集群状态

请在此添加图片描述

6.5 查看首页概览页面

重新访问TKEStack首页概览页面,已经成功识别到导入的k8s集群及相关信息。

请在此添加图片描述

七、部署wordpress应用

7.1 yaml创建资源

在新导入的k8s集群my-k8s管理页面,点击yaml创建资源。

请在此添加图片描述

请在此添加图片描述

7.2 编写yaml部署文件

编写wordpress的yaml部署文件

---
apiVersion: v1
kind: Namespace
metadata:
  name: wordpress
---
apiVersion: v1
kind: Service
metadata:
  name: wordpress
  namespace: wordpress
  labels:
    app: wordpress
spec:
  ports:
    - protocol: TCP
      targetPort: 80
      port: 80
      nodePort: 30020
  selector:
    app: wordpress
  type: NodePort


---

apiVersion: apps/v1
kind: Deployment
metadata:
  name: wordpress
  namespace: wordpress
  labels:
    app: wordpress
spec:
  replicas: 2
  selector:
    matchLabels:
      app: wordpress
  template:
    metadata:
      labels:
        app: wordpress
    spec:
      containers:
        - name: wordpress
          image: wordpress
          ports:
            - containerPort: 80
          env:
            - name: WORDPRESS_DB_HOST
              value:  wordpress-mysql.wordpress.svc.cluster.local
            - name: WORDPRESS_DB_USER
              value: wordpress
            - name:  WORDPRESS_DB_PASSWORD
              value:  wordpress
          volumeMounts:
            - mountPath: "/var/www/html"
              name: wordpress-data
      volumes:
        - name: wordpress-data
          hostPath:
            path: /data/wordpress/data

---

apiVersion: v1
kind: Service
metadata:
  name: wordpress-mysql
  namespace: wordpress
  labels:
    app: wordpress
spec:
  ports:
    - port: 3306
  type: ClusterIP
  selector:
    app: wordpress
    tier: mysql

---

apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: wordpress-mysql
  namespace: wordpress
  labels:
    app: wordpress
spec:
  replicas: 1
  selector:
    matchLabels:
      app: wordpress
      tier: mysql
  serviceName: "wordpress-mysql"
  template:
    metadata:
      labels:
        app: wordpress
        tier: mysql
    spec:
#      nodeSelector:
#        kubernetes.io/hostname: node01
      containers:
        - name: mysql
          image: mysql:5.7
          env:
            - name: MYSQL_ROOT_PASSWORD
              value: wordpress
            - name: MYSQL_DATABASE
              value: wordpress
            - name: MYSQL_USER
              value:  wordpress
            - name: MYSQL_PASSWORD
              value:  wordpress


          ports:
            - containerPort: 3306
              name: mysql
          volumeMounts:
            - mountPath: /var/lib/mysql
              name: mysql-storage
      volumes:
        - name: mysql-storage
          hostPath:
            path: /var/lib/mysql

7.3 部署wordpress应用

将yaml部署文件复制到编辑栏中,点击“完成”

请在此添加图片描述

7.4 检查工作负载状态

在TKEStack容器管理平台,查看wordpress命名空间下的Deployment资源状态。

请在此添加图片描述

请在此添加图片描述

7.5 检查service状态

在TKEStack容器管理平台,查看wordpress命名空间下的service状态。

请在此添加图片描述

可以看到wordpress应用的映射主机端口为30020

请在此添加图片描述

八、wordpress的初始化

8.1 进入wordpress的初始安装界面

访问地址:http://192.168.3.202:30020/wp-admin/install.php, 可以选择系统中文语言或者英语,这里是选择英语。

在这里插入图片描述

8.2 设置网站信息

自定义网站信息,设置网站名及网站管理员密码等信息。

在这里插入图片描述

在这里插入图片描述

九、访问wordpress

9.1 访问wordpress首页

访问地址:http://192.168.3.202:30020/

在这里插入图片描述

9.2 访问wordpress后台管理

后台管理地址:http://192.168.3.202:30020/wp-admin/
输入之前设置的管理员和密码,进入wordpress后台管理。

在这里插入图片描述

在这里插入图片描述

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

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

相关文章

WinRAR如何设置和清除密码?

WinRAR是一款功能强大的压缩管理器&#xff0c;除了能把文件打包变小&#xff0c;还能给压缩包设置密码保护&#xff0c;让文件不能随意打开&#xff0c;不需要时还可以把密码取消。下面来说说具体怎么操作吧。 WinRAR根据需要可以设置单次密码和永久密码&#xff0c;我们分别…

C++ Qt开发:Charts绘图组件概述

Qt 是一个跨平台C图形界面开发库&#xff0c;利用Qt可以快速开发跨平台窗体应用程序&#xff0c;在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置&#xff0c;实现图形化开发极大的方便了开发效率&#xff0c;本章将重点介绍QCharts二维绘图组件的常用方法及灵活运用。 …

Git 配置多个 SSH-Key

Git 配置多个 SSH-Key &#xff08;两个都是gitee&#xff09; 先看图&#xff0c;官网固然重要&#xff0c;但是不完全行&#xff08;因为官网示例是一个gitee一个github&#xff09;&#xff0c;现在想是想多个都是gitee在他上面稍微更改即可 一般不对遇到这种问题&#xf…

Windows电脑向ipad和iOS系统共享文件夹

Windows电脑向ipad和iOS系统共享文件夹 这个方案不需要下载任何软件&#xff0c;但是要求 iOS 和 Windows 在同一个局域网内。再大的文件都可以在 iOS13 自带的的“文件App”里实时显示&#xff0c;可以直接打开。这个解决方案需要你 Windows 电脑上登陆了微软账号&#xff0c…

数字技术:引领未来的创新驱动力

数字技术&#xff0c;作为当代最具创新性和影响力的技术领域之一&#xff0c;已经在全球范围内引起了广泛的关注和研究。当前&#xff0c;数字技术正以惊人的速度改变着我们的世界&#xff0c;从日常生活到商业领域&#xff0c;无一不受到其影响。数字技术的发展不仅改变了人们…

深度学习美化图片,绝对可行,美化效果挺好 DPED

一、背景 要美化生成的图片的效果&#xff0c;找到一个 效果如下&#xff1a; 二、步骤 1、python3.6环境&#xff0c;TensorFlow 2.0.0 2、下载代码&#xff1a;https://github.com/aiff22/DPEDx 3、将要增强的照片放在以下目录中&#xff0c;没有就新建&#xff1a; dpe…

基于改进YOLOv7的绝缘子缺陷检测算法

摘要 现有的检测方法面临着巨大的挑战&#xff0c;在识别绝缘子的微小缺陷时&#xff0c;针对输电线路图像与复杂的背景。为保证输电线路的安全运行&#xff0c;提出一种改进的YOLOv 7模型&#xff0c;以提高检测结果。 首先&#xff0c;基于K-means对绝缘子数据集的目标盒进…

Python并行编程详解:发挥多核优势的艺术

更多资料获取 &#x1f4da; 个人网站&#xff1a;ipengtao.com 在当今计算机时代&#xff0c;充分发挥多核处理器的性能是提高程序运行效率的关键。Python作为一门强大的编程语言&#xff0c;提供了多种并行编程工具和库。本文将深入介绍Python中的并行编程&#xff0c;探讨如…

Python命名规范中的[单/双][前导/后缀]下划线小结

如图所示 出处 Single and Double Underscores in Python Names

泽攸科技SEM台式扫描电子显微镜

泽攸科技是一家国产的科学仪器公司&#xff0c;专注于研发、生产和销售原位电镜解决方案、扫描电镜整机、台阶仪、探针台等仪器。目前台式扫描电镜分为三个系列&#xff1a;ZEM15、ZEM18、ZEM20。 ZEM15台式扫描电镜&#xff1a; ZEM18台式扫描电镜&#xff1a; ZEM20台式扫描…

Rust报错:the msvc targets depend on the msvc linker but `link.exe` was not found

当我在我的 windows 电脑上安装 rust&#xff0c;然后用 cargo 新建了一个项目后&#xff0c;cargo run 会报错&#xff1a; error: linker link.exe not found| note: program not foundnote: the msvc targets depend on the msvc linker but link.exe was not foundnote: p…

H5页面这样测试,让Bug无处可逃!

部门最近的H5相关项目挺多的&#xff0c;由于团队之前接触的大多是Web项目&#xff0c;很少涉及H5&#xff0c;想着给团队成员培训下&#xff0c;减少漏测率&#xff0c;于是整理了一个文档。 别说&#xff0c;效果还挺不错的&#xff0c;连着上线6个版本&#xff0c;都没有收…

自动化边坡监测设备是什么?

随着科技的不断进步&#xff0c;我们的生活和环境也在不断地发生变化。然而&#xff0c;自然灾害仍然是我们无法完全避免的风险。其中&#xff0c;边坡滑坡就是一种常见的自然灾害。为了保护人民的生命财产安全&#xff0c;科学家们研发出了自动化边坡监测设备。 WX-WY1 自动化…

Pytorch-RealSR超分模型

1.前言 RealSR 是一种基于学习的单图像超分辨率&#xff08;SISR&#xff09;模型&#xff0c;专门针对真实世界的图像。它由腾讯 AI 实验室于 2020 年提出。 RealSR 的核心创新是提出了一种新的退化模型&#xff0c;该模型能够更好地模拟真实世界的退化过程。该模型考虑了真实…

多臂老虎机算法步骤

内容导航 类别内容导航机器学习机器学习算法应用场景与评价指标机器学习算法—分类机器学习算法—回归机器学习算法—聚类机器学习算法—异常检测机器学习算法—时间序列数据可视化数据可视化—折线图数据可视化—箱线图数据可视化—柱状图数据可视化—饼图、环形图、雷达图统…

毅速:3D打印随形冷却水路助力模具行业降本、提质、增效

随着模具行业的不断发展&#xff0c;模具制造的精度和效率已经成为企业核心竞争力的重要组成部分。为了满足市场需求&#xff0c;模具行业一直在寻求新的制造技术和方法。3D打印技术的出现&#xff0c;为模具行业带来了革命性的变革。其中&#xff0c;3D打印随形冷却水路的应用…

Ubuntu 常用命令之 clear 命令用法介绍

&#x1f4d1;Linux/Ubuntu 常用命令归类整理 clear命令在Ubuntu系统下用于清除终端屏幕的内容。这个命令没有任何参数&#xff0c;它的主要作用就是清理终端屏幕上的所有信息&#xff0c;使得屏幕看起来像是新打开的一样。 使用clear命令非常简单&#xff0c;只需要在终端中…

Day68力扣打卡

打卡记录 得到山形数组的最少删除次数&#xff08;线性DP 前后缀分解&#xff09; 链接 class Solution:def minimumMountainRemovals(self, nums: List[int]) -> int:n len(nums)pre, suf [1] * n, [1] * nfor i in range(n):for j in range(i):if nums[j] < nums[…

Liteos移植_STM32_HAL库

0 开发环境 STM32CubeMX(HAL库)keil 5正点原子探索者STM32F4ZET6LiteOS-develop分支 1 STM32CubeMX创建工程 如果有自己的工程&#xff0c;直接从LiteOS源码获取开始 关于STM32CubeMX的安装&#xff0c;看我另一篇博客STM32CubeMX安装 工程配置 创建新工程 选择芯片【STM32F…

16 寻找特定高度的地点

搜索二维数组 #include <iostream> using namespace::std; using std::cout; using std::cin; int main() {int n,m,target;cin >> n >> m;int matrix[n][m];for(int i0; i<n; i){for(int j0; j<m; j){cin >> matrix[i][j];}}cin >> tar…