首页 > 其他分享 >AWX部署

AWX部署

时间:2024-06-21 18:43:15浏览次数:19  
标签:awx 部署 demo created io operator AWX k8s

目录

awx

awx是红帽Ansible Tower的开源版本,他的功能是可以使用web界面来操作ansible

操作系统使用openEuler 22.03

这里是在k8s上部署的,需要使用动态制备pvc,因为他有一个数据库需要使用存储

1. 部署awx

1.1 克隆仓库

[root@master ~]# git clone https://gitee.com/yftyxa/awx-operator.git
[root@master ~]# cd awx-operator/config/default/
[root@master default]# ls
awx-demo.yaml  kustomization.yaml  manager_auth_proxy_patch.yaml  manager_config_patch.yaml

在这里会有4个yaml文件,但是你如果打开看的话,是跟我们日常编写的yaml格式是不一样的,我们现在需要通过这些文件来生成原始的yaml

1.2 生成yaml

我们可以使用kubectl kustomize这个命令来生成yaml

但是有一点需要注意,这里需要指定的是一个目录,而不是一个文件

# 我们可以创建一个目录来存放生成过后的yaml,别都放在这搞混了
[root@master default]# mkdir deploy
[root@master default]# cd deploy/
[root@master default]# kubectl kustomize ../
[root@master deploy]# kubectl kustomize ../ > awx-operator.yaml

1.3 部署operator

[root@master deploy]# kubectl apply -f awx-operator.yaml 
namespace/awx created
customresourcedefinition.apiextensions.k8s.io/awxbackups.awx.ansible.com created
customresourcedefinition.apiextensions.k8s.io/awxrestores.awx.ansible.com created
customresourcedefinition.apiextensions.k8s.io/awxs.awx.ansible.com created
serviceaccount/awx-operator-controller-manager created
role.rbac.authorization.k8s.io/awx-operator-awx-manager-role created
role.rbac.authorization.k8s.io/awx-operator-leader-election-role created
clusterrole.rbac.authorization.k8s.io/awx-operator-metrics-reader created
clusterrole.rbac.authorization.k8s.io/awx-operator-proxy-role created
rolebinding.rbac.authorization.k8s.io/awx-operator-awx-manager-rolebinding created
rolebinding.rbac.authorization.k8s.io/awx-operator-leader-election-rolebinding created
clusterrolebinding.rbac.authorization.k8s.io/awx-operator-proxy-rolebinding created
configmap/awx-operator-awx-manager-config created
service/awx-operator-controller-manager-metrics-service created
deployment.apps/awx-operator-controller-manager created
error: unable to recognize "awx-operator.yaml": no matches for kind "AWX" in version "awx.ansible.com/v1beta1"

这里会有一个报错,如果你也遇到了不用管他,再执行一遍这个文件

[root@master deploy]# kubectl apply -f awx-operator.yaml 
namespace/awx created
customresourcedefinition.apiextensions.k8s.io/awxbackups.awx.ansible.com created
customresourcedefinition.apiextensions.k8s.io/awxrestores.awx.ansible.com created
customresourcedefinition.apiextensions.k8s.io/awxs.awx.ansible.com created
serviceaccount/awx-operator-controller-manager created
role.rbac.authorization.k8s.io/awx-operator-awx-manager-role created
role.rbac.authorization.k8s.io/awx-operator-leader-election-role created
clusterrole.rbac.authorization.k8s.io/awx-operator-metrics-reader created
clusterrole.rbac.authorization.k8s.io/awx-operator-proxy-role created
rolebinding.rbac.authorization.k8s.io/awx-operator-awx-manager-rolebinding created
rolebinding.rbac.authorization.k8s.io/awx-operator-leader-election-rolebinding created
clusterrolebinding.rbac.authorization.k8s.io/awx-operator-proxy-rolebinding created
configmap/awx-operator-awx-manager-config created
service/awx-operator-controller-manager-metrics-service created
deployment.apps/awx-operator-controller-manager created
awx.awx.ansible.com/awx-operator-awx-demo created

再执行一遍就没有报错了

1.4 查看pod

[root@master deploy]# kubectl get pods -n awx
NAME                                               READY   STATUS    RESTARTS   AGE
awx-operator-awx-demo-postgres-13-0                1/1     Running   0          6m11s
awx-operator-awx-demo-task-6d4ff878ff-txb78        4/4     Running   0          5m21s
awx-operator-awx-demo-web-cb9cc8f9c-lkphd          3/3     Running   0          3m30s
awx-operator-controller-manager-85d95854c9-vqf4s   2/2     Running   0          6m27s

如果你在这个过程中出现了pending,一下pending的原因,很大可能是因为pvc的缘故

1.5 修改镜像地址

注意!!!

回到上一级目录,也就是default目录,这里面如果存在awx-demo.yaml这个文件的话就直接修改,不存在的话就创建

因为dockerhub现在国内访问不了,所以他的数据库镜像包括redis的镜像都是拉不到的,我们需要对镜像进行修改

[root@master deploy]# vim awx-demo.yaml
---
apiVersion: awx.ansible.com/v1beta1
kind: AWX
metadata:
  name: awx-demo
  namespace: awx
spec:
  service_type: nodeport
  postgres_image: swr.cn-east-3.myhuaweicloud.com/hcie_openeuler/postgres
  postgres_version: "13"
  redis_image: swr.cn-east-3.myhuaweicloud.com/hcie_openeuler/redis
  redis_version: "7"

然后apply这个文件

[root@master deploy]# kubectl apply -f awx-demo.yaml 

执行这个文件之后,等待一会然后去查看pod

[root@master deploy]# kubectl get pods -n awx
NAME                                               READY   STATUS    RESTARTS   AGE
awx-demo-postgres-13-0                             1/1     Running   0          7m28s
awx-demo-task-6fc456bbbd-9jcv9                     4/4     Running   0          7m2s
awx-demo-web-7f78447cd-74hkw                       3/3     Running   0          6m55s
awx-operator-awx-demo-postgres-13-0                1/1     Running   0          17m
awx-operator-awx-demo-task-6d4ff878ff-txb78        4/4     Running   0          16m
awx-operator-awx-demo-web-cb9cc8f9c-lkphd          3/3     Running   0          14m
awx-operator-controller-manager-85d95854c9-vqf4s   2/2     Running   0          17m

这里就会有这么多的pod全都是running了,那么部署就完成了

2. 登录awx

2.1 查看端口

[root@master default]# kubectl get svc -n awx
NAME                                              TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)        AGE
awx-operator-awx-demo-postgres-13                 ClusterIP   None             <none>        5432/TCP       34m
awx-operator-awx-demo-service                     NodePort    10.109.223.144   <none>        80:30080/TCP   34m
awx-operator-controller-manager-metrics-service   ClusterIP   10.108.166.93    <none>        8443/TCP       35m

  • 默认账号是admin

2.2 查看默认密码

默认密码是在awx命名空间下有一个secret

[root@master deploy]# kubectl get secrets -n awx |grep admin
awx-operator-awx-demo-admin-password           Opaque                 

会有一个这个secret,我们将数据拿出来就好了

[root@master deploy]# kubectl get secrets -n awx awx-operator-awx-demo-admin-password -o yaml |head -5
apiVersion: v1
data:
  password: YlhMR3VtSkxHYkN6d1ZiUHhVZkVpVEp1TmJaa2N6OHc=
kind: Secret
metadata:

这里有一个password,注意这个password是base64加密过后的,我们还需要解密

[root@master deploy]# echo YlhMR3VtSkxHYkN6d1ZiUHhVZkVpVEp1TmJaa2N6OHc= |base64 -d
bXLGumJLGbCzwVbPxUfEiTJuNbZkcz8w

他输出的这一段就是密码了

登录进来之后就是这样的了

标签:awx,部署,demo,created,io,operator,AWX,k8s
From: https://www.cnblogs.com/fsdstudy/p/18261190

相关文章

  • “独立部署ERP系统:保护数据、增强稳定性的秘诀“
    在亚马逊这片无垠的商海中,贴牌操作仿佛为企业的航船装上了量身定制的帆篷,它是一种深度个性化ERP系统的定制过程。此过程不仅涉及将企业的标志、域名和支付账户精心嵌入系统内,还包括与公司现有物流渠道的无缝衔接。这样的高度定制使企业能够以更高的效率和精准度驾驭其商业航程,......
  • 用VPS部署聊天机器人有哪些优势?
    VPS足以帮助您将人工智能(AI)的功能无缝融入聊天机器人并增强客户支持。聊天机器人已迅速成为改善用户体验的首选解决方案,因为它们全天候在线且可编程回答各种问题。聊天机器人在客户支持方面的作用不容置疑。但所有出色的解决方案都需要出色的网络托管。VPS提供了一种稳定......
  • 从 GitHub 自动化部署到网页性能优化
    前提一切都和速度有关,手动部署慢,网页加载慢。首先解决部署问题。代码是托管在Github上的,那么使用GithubActions是一种自然的选择。但是上一次使用GitHubActions已经是一年前了,现在除了知道这东西的存在其他基本都忘了。第二,当前网页打开速度太慢(15s+),当然服务器配置......
  • windows离线部署VSCode在Centos7上的远程开发环境
    前言公司一直使用的是ssh+vim的远程开发方式,习惯了vim之后已经非常方便了。但是还是想尝试一下VSCode的开发方式。就我而言,原因如下漂亮的语法高亮,并且有补全基于语法解析的引用查找(尽管在我们项目的场景下还是一坨翔)Ctrl+Shift+F的快速搜索可视化调试,可以直接在代码中下......
  • KVM虚拟机安装部署全攻略 cockpit
    01原理KVM(Kernel-basedVirtualMachine)虚拟化技术是一种基于内核的虚拟化技术,KVM虚拟化技术的实现依赖于CPU的虚拟化扩展(如IntelVT和AMD-V)。当宿主机启动时,KVM会加载一个轻量级的内核模块kvm.ko,该模块负责与硬件进行交互,实现虚拟机的创建、管理和调度。 02组成●KVM内......
  • 帮企商城10合一万能DIY分销商城小程序源码系统 带源代码包+搭建部署教程
    系统概述这是一款集多种功能于一体的源码系统,旨在为用户提供一站式的商城解决方案。它不仅支持小程序端,还能与其他平台无缝对接,满足不同用户的需求。代码示例系统特色功能一览   1.万能DIY功能:用户可以根据自己的需求和创意,自由定制商城的外观、布局和功能模块,打造......
  • 超级会员卡积分收银系统源码 带完整的安装代码包以及搭建部署教程
    系统概述超级会员卡积分收银系统源码是一款专为商业运营打造的综合性软件解决方案。它集成了会员卡管理、积分管理、收银管理等多种功能,旨在为企业提供高效、便捷、准确的运营管理工具。该系统源码采用先进的技术架构,具有良好的稳定性和扩展性,能够适应不同规模和类型的企业需......
  • 百度在线分销商城小程序源码系统 分销+会员组+新用户福利 前后端分离 带完整的安装代
    系统概述百度在线分销商城小程序源码系统是一款集分销、会员组管理和新用户福利于一体的前后端分离的系统。它采用先进的技术架构,确保系统的稳定性、高效性和安全性。该系统的前端基于小程序开发,为用户提供了便捷的购物体验和交互界面。用户可以通过小程序轻松浏览商品、下单......
  • Java网易163邮箱工具类-部署到Linux
    1,设置163邮箱开启POP3/SMTP/IMAP2,依赖<dependency> <groupId>jakarta.mail</groupId> <artifactId>jakarta.mail-api</artifactId> <version>2.1.3</version></dependency><dependency> <groupId>com.sun.m......
  • Docker 部署 YApi 记录
    最近想在linux环境部署YApi对接口文档进行管理,只不过基于官方的部署方式,需要npm的配置,而且中间踩了很多坑比如YApi版本,Nodejs版本...... 想着还是使用Docker部署吧,找到了这位大佬的部署方式: https://www.jianshu.com/p/a97d2efb23c5基于大佬的配置,终于部署成功了......