openldap docker k8s部署

这篇具有很好参考价值的文章主要介绍了openldap docker k8s部署。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、docker部署

首先编写docker-compose.yml文件:

version: '2'
services:
  openldap:
    image: osixia/openldap:1.5.0
    container_name: openldap
    restart: always
    environment:
      LDAP_ORGANISATION: "gavin"
      LDAP_DOMAIN: "auth.gavin.cn"
      LDAP_BASE_DN: "dc=auth,dc=gavin,dc=cn"
      LDAP_ADMIN_PASSWORD: "123456"
      LDAP_CONFIG_PASSWORD: "123456"
    # volumes:
    #   - /opt/openldap/ldap:/var/lib/ldap
    #   - /opt/openldap/slapd.d:/etc/ldap/slapd.d
    ports:
      - "389:389"
      - "636:636"
  phpldapadmin:
    image: osixia/phpldapadmin:latest
    container_name: phpldapadmin
    restart: always
    environment:
      PHPLDAPADMIN_LDAP_HOSTS: "openldap"
      PHPLDAPADMIN_HTTPS: "false"
    ports:
      - "50081:80"
    depends_on:
      - openldap

然后通过docker-compose up启动成功。http://localhost:50081/.

用户名为cn=admin,dc=auth,dc=gavin,dc=cn, 密码为123456

2、k8s部署,

首先通过docker命令把镜像推送到harbor

编写openldap.yml,

---
apiVersion: apps/v1
kind: Deployment
metadata:
  annotations: {}
  labels:
    k8s.kuboard.cn/layer: db
    k8s.kuboard.cn/name: openldap
  name: openldap
  namespace: base-component
  resourceVersion: '43043689'
spec:
  progressDeadlineSeconds: 600
  replicas: 1
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      k8s.kuboard.cn/layer: db
      k8s.kuboard.cn/name: openldap
  strategy:
    rollingUpdate:
      maxSurge: 25%
      maxUnavailable: 25%
    type: RollingUpdate
  template:
    metadata:
      creationTimestamp: null
      labels:
        k8s.kuboard.cn/layer: db
        k8s.kuboard.cn/name: openldap
    spec:
      containers:
        - env:
            - name: LDAP_ORGANISATION
              value: gavin
            - name: LDAP_DOMAIN
              value: auth.gavin.cn
            - name: LDAP_BASE_DN
              value: 'dc=auth,dc=gavin,dc=cn'
            - name: LDAP_ADMIN_PASSWORD
              value: 123456
            - name: LDAP_CONFIG_PASSWORD
              value: 123456
          image: '192.168.20.4:8930/base-component/osixia/openldap:1.0.0'
          imagePullPolicy: IfNotPresent
          name: openldap
          resources: {}
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          volumeMounts:
            - mountPath: '/opt/openldap/ldap:/var/lib/ldap'
              name: volume-hznp6
            - mountPath: '/opt/openldap/slapd.d:/etc/ldap/slapd.d'
              name: volume-hznp6
      dnsPolicy: ClusterFirst
      restartPolicy: Always
      schedulerName: default-scheduler
      securityContext: {}
      terminationGracePeriodSeconds: 30
      volumes:
        - name: volume-hznp6
          persistentVolumeClaim:
            claimName: openldap

编写phpldapadmin.yml

---
apiVersion: apps/v1
kind: Deployment
metadata:
  annotations: {}
  labels:
    k8s.kuboard.cn/layer: web
    k8s.kuboard.cn/name: phpldapadmin
  name: phpldapadmin
  namespace: base-component
  resourceVersion: '43046631'
spec:
  progressDeadlineSeconds: 600
  replicas: 1
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      k8s.kuboard.cn/layer: web
      k8s.kuboard.cn/name: phpldapadmin
  strategy:
    rollingUpdate:
      maxSurge: 25%
      maxUnavailable: 25%
    type: RollingUpdate
  template:
    metadata:
      creationTimestamp: null
      labels:
        k8s.kuboard.cn/layer: web
        k8s.kuboard.cn/name: phpldapadmin
    spec:
      containers:
        - env:
            - name: PHPLDAPADMIN_LDAP_HOSTS
              value: openldap-svc
            - name: PHPLDAPADMIN_HTTPS
              value: 'false'
          image: '192.168.20.4:8930/base-component/osixia/phpldapadmin:1.0.0'
          imagePullPolicy: IfNotPresent
          name: phpldapadmin
          resources: {}
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
      dnsPolicy: ClusterFirst
      restartPolicy: Always
      schedulerName: default-scheduler
      securityContext: {}
      terminationGracePeriodSeconds: 30
status:
  availableReplicas: 1
  conditions:
    - lastTransitionTime: '2023-07-13T06:19:54Z'
      lastUpdateTime: '2023-07-13T06:19:54Z'
      message: Deployment has minimum availability.
      reason: MinimumReplicasAvailable
      status: 'True'
      type: Available
    - lastTransitionTime: '2023-07-13T06:19:49Z'
      lastUpdateTime: '2023-07-13T06:45:55Z'
      message: ReplicaSet "phpldapadmin-7bf9f9957c" is progressing.
      reason: ReplicaSetUpdated
      status: 'True'
      type: Progressing
  observedGeneration: 6
  readyReplicas: 1
  replicas: 1
  unavailableReplicas: 1
  updatedReplicas: 1

编写服务openldap-svc.yml

---
apiVersion: v1
kind: Service
metadata:
  name: openldap-svc
  namespace: base-component
  resourceVersion: '43043585'
spec:
  clusterIP: 10.233.170.152
  clusterIPs:
    - 10.233.170.152
  externalTrafficPolicy: Cluster
  internalTrafficPolicy: Cluster
  ipFamilies:
    - IPv4
  ipFamilyPolicy: SingleStack
  ports:
    - name: r6pkcf
      nodePort: 389
      port: 389
      protocol: TCP
      targetPort: 389
    - name: fw8jjr
      nodePort: 636
      port: 636
      protocol: TCP
      targetPort: 636
  selector:
    k8s.kuboard.cn/layer: db
    k8s.kuboard.cn/name: openldap
  sessionAffinity: None
  type: NodePort

编写 phpldapadmin-svc.yml

---
apiVersion: v1
kind: Service
metadata:
  name: phpldapadmin-svc
  namespace: base-component
  resourceVersion: '43042798'
spec:
  clusterIP: 10.233.214.176
  clusterIPs:
    - 10.233.214.176
  externalTrafficPolicy: Cluster
  internalTrafficPolicy: Cluster
  ipFamilies:
    - IPv4
  ipFamilyPolicy: SingleStack
  ports:
    - name: dbz2rn
      nodePort: 5080
      port: 80
      protocol: TCP
      targetPort: 80
  selector:
    k8s.kuboard.cn/layer: web
    k8s.kuboard.cn/name: phpldapadmin
  sessionAffinity: None
  type: NodePort

然后启动,进入页面。

注意:在phpldapadmin.yml文件里的环境变量PHPLDAPADMIN_LDAP_HOSTS,之前用的是openldap,也就是工作负载的名称,但是页面会出现不能连接ldap服务。改成openldap-svc就可以了,可能是因为工作负载不对外。文章来源地址https://www.toymoban.com/news/detail-729921.html

到了这里,关于openldap docker k8s部署的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 容器化(Docker、K8S)部署Elasticsearch + Kibana

    ElasticSearch简介 本次实验目标 实验环境 Docker部署Elasticsearch + Kibana 安装中文分词器插件,配置认证 基本操作 在华为云CCE中部署 使用Logstash进行数据迁移

    2024年01月19日
    浏览(74)
  • Kubernetes(K8s 1.28.x)部署---创建方式Docker(超详细)

    目录 一、基础环境配置(所有主机均要配置) 1、配置IP地址和主机名、hosts解析 2、关闭防火墙、禁用SELinux 3、安装常用软件 4、配置时间同步 5、禁用Swap分区 6、修改linux的内核参数 7、配置ipvs功能 二、容器环境操作 1、定制软件源 2、安装最新版docker 3、配置docker加速器 4、

    2024年02月09日
    浏览(43)
  • K8S最新版本集群部署(v1.28) + 容器引擎Docker部署(上)

    🔼上一集:win11+vmware17+centos7.9环境搭建 *️⃣主目录:温故知新专栏 🔽下一集:K8S最新版本集群部署(v1.28) + 容器引擎Docker部署(下) 之前部署过dolphinscheduler3.1.8,看页面增加了K8S模块,所以想着部署一下K8S,学习一下,而且海豚调度也提供了K8S部署方式,经过一番了解,发现

    2024年02月11日
    浏览(53)
  • K8S最新版本集群部署(v1.28) + 容器引擎Docker部署(下)

    🔼上一集:K8S最新版本集群部署(v1.28) + 容器引擎Docker部署(上) *️⃣主目录:温故知新专栏 🔽下一集:Kubernetes可视化管理工具Kuboard部署使用及k8s常用命令梳理记录 kubectl 是使用 Kubernetes API 与 Kubernetes 集群的控制面进行通信的命令行工具。详见官网安装步骤 📕下载kube

    2024年02月09日
    浏览(51)
  • 【C站首发】全网最新Kubernetes(K8s)1.28版本探秘及部署 基于Containerd容器运行时(100年证书kubeadm)

    序号 操作系统及版本 备注 1 CentOS7u9 需求 CPU 内存 硬盘 角色 主机名 值 8C 8G 1024GB master k8s-master01 值 8C 16G 1024GB worker(node) k8s-worker01 值 8C 16G 1024GB worker(node) k8s-worker02 1.3.1 主机名配置 由于本次使用3台主机完成kubernetes集群部署,其中1台为master节点,名称为k8s-master01;其中2台为wor

    2024年02月08日
    浏览(62)
  • 云原生Kubernetes:K8S集群实现容器运行时迁移(docker → containerd) 与 版本升级(v1.23.14 → v1.24.1)

    目录 一、理论 1.K8S集群升级 2.环境 3.升级策略 4.master1节点迁移容器运行时(docker → containerd)  5.master2节点迁移容器运行时(docker → containerd)  6.node1节点容器运行时迁移(docker → containerd)  7.升级集群计划(v1.23.14 → v1.24.1) 8.升级master1节点版本(v1.24.1) 9.升级master2节点版本

    2024年02月03日
    浏览(66)
  • 容器化进阶Kubernetes(K8S)详解

    1.1.1 Kubernetes是什么及作用 Kubernetes(K8S)是Google在2014年发布的一个开源项目,用于自动化容器化应用程序的部署、扩展和管理。 Kubernetes通常结合docker容器工作,并且整合多个运行着docker容器的主机集群。 官网地址 Kubernetes 中文社区 Kubernetes(k8s)中文文档 目录_Kubernetes中文社

    2024年02月05日
    浏览(74)
  • Kubernetes(k8s)实战:Kubernetes(k8s)部署Springboot项目

    wordpress是用于快速搭建博客系统。 该yaml文件创建一个mysql,并且生成一个service,service对外暴露的端口是3306 我们发现,搭建成功了,用浏览器访问192.168.56.101:30493,发现访问成功了! 在集群中,pod之间可以通过service 的name进行访问,不仅仅是ip,这就意味着,service中不仅帮

    2024年02月12日
    浏览(95)
  • Kubernetes(k8s)容器编排Pod介绍和使用

    Pod是kubernetes中你可以创建和部署的最小也是最简的单位,一个Pod代表着集群中运行的一个进程。 Pod有两个必须知道的特点 通过yaml文件或者json描述Pod和其内容器的运行环境和期望状态,例如一个最简单的运行nginx应用的pod,定义如下 3.1.1 参数描述 下面简要分析一下上面的

    2024年02月08日
    浏览(78)
  • Kubernetes(K8s):容器化应用的航空母舰

    Kubernetes(K8s)是一个开源的容器编排系统,它的出现就像是为容器化应用提供了一艘强大的航空母舰。在这艘母舰上,你的应用容器就像是一架架战斗机,Kubernetes负责指挥它们起飞、飞行、降落,确保它们能在正确的时间、正确的地点执行任务。 Pod: Kubernetes的基本飞行编队

    2024年04月08日
    浏览(64)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包