首页 > 社交 > 科普中国

kubernetes上部署

常驻编辑 科普中国 2022-05-05 管理工具   集群   初始化   脚本   步骤   用户名   密码   数据库   数据   信息
apiVersion: v1
kind: Service
metadata:
  name: postgres-prod
spec:
  selector:
    app: postgres-prod
  ports:
    - protocol: TCP
      port: 5432
      targetPort: tcp-5432

完成 postgres 部署。

测试略xWu拜客生活常识网

安装 adminer

adminer 是 php 语言的 数据库管理工具,可以在浏览器上管理数据库,因为我们的数据库部署在 kubernetes ,配套使用基于浏览器的 数据库管理工具,可以更方便的管理,而且不需要把安装在 kubernetes 集群里的数据库暴露出来,提高了数据保密性。xWu拜客生活常识网

准备配置文件

我们使用 configmap 保存 adminer 需要的环境变量。比如通过 ADMINER_DESIGN 设置皮肤,通过 ADMINER_PLUGINS 设置需要加载的插件。xWu拜客生活常识网

apiVersion: v1
kind: ConfigMap
metadata:
  name: adminer
data:
  ADMINER_DESIGN: pappu687
  ADMINER_PLUGINS: tables-filter

在前面的步骤准备好各种配置信息和存储后,就可以开始部署 adminer 服务了。

apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: adminer
  name: adminer
spec:
  replicas: 1
  selector:
    matchLabels:
      app: adminer
  template:
    metadata:
      labels:
        app: adminer
    spec:
      containers:
        - name: adminer
          image: 'adminer'
          ports:
            - name: http-9000
              protocol: TCP
              containerPort: 9000
          envFrom:
          - configMapRef:
              name: adminer

创建供集群内访问的 service

apiVersion: v1
kind: Service
metadata:
  name: adminer
spec:
  selector:
    app: adminer
  ports:
    - protocol: TCP
      port: 9000
      targetPort: http-9000

创建集群外访问的 Ingress

kind: Ingress
apiVersion: networking.k8s.io/v1
metadata:
  name: adminer
spec:
  ingressClassName: nginx
  rules:
    - host: adminer.ipincloud.cn
      http:
        paths:
          - path: /
            pathType: ImplementationSpecific
            backend:
              service:
                name: adminer
                port:
                  number: 9000

验证

xWu拜客生活常识网

部署 wiki.js

准备用户名密码配置

我们使用 secret 保存 wiki.js 用于连接数据库的用户名密码等敏感信息。xWu拜客生活常识网

apiVersion: v1
kind: Secret
metadata:
  name: wikijs
data:
  DB_USER: d2lraWpz
  DB_PASS: 自行填写
type: Opaque

准备数据库连接配置

我们使用 configmap 保存 wiki.js 的数据库连接信息。xWu拜客生活常识网

apiVersion: v1
kind: ConfigMap
metadata:
  name: wikijs
data:
  DB_TYPE: postgres
  DB_HOST: postgres-prod.infra
  DB_PORT: "5432"
  DB_NAME: wikijs
  HA_ACTIVE: "true"

创建数据库用户和数据库

如果 postgresql 数据库里没有创建 wikijs 用户和数据 ,需要手工完成一下工作:
通过 adminer 连接 postgresql 数据库,执行一下 sql 语句,完成数据库和用户的创建、授权xWu拜客生活常识网

CREATE DATABASE wikijs;
CREATE USER wikijs with password '自行填写';
GRANT CONNECT ON DATABASE wikijs to wikijs;
GRANT USAGE ON SCHEMA public TO wikijs;
GRANT SELECT,update,INSERT,delete ON ALL TABLES IN SCHEMA public TO wikijs;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO wikijs;

部署 wiki.js

在前面的步骤准备好各种配置信息和存储后,就可以开始部署 wiki.js 服务了。xWu拜客生活常识网

apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: wikijs
  name: wikijs
spec:
  replicas: 1
  selector:
    matchLabels:
      app: wikijs
  template:
    metadata:
      labels:
        app: wikijs
    spec:
      containers:
        - name: wikijs
          image: 'requarks/wiki:2'
          ports:
            - name: http-3000
              protocol: TCP
              containerPort: 3000
          envFrom:
          - secretRef:
              name: wikijs
          - configMapRef:
              name: wikijs


创建供 wiki.js 的 service

apiVersion: v1
kind: Service
metadata:
  name: wikijs
spec:
  selector:
    app: wikijs
  ports:
    - protocol: TCP
      port: 3000
      targetPort: http-3000
    

相关阅读:

  • 抖音背后的“生产线”
  • 首份快递三季报出炉,新阶段价值竞争靠什么|姗言两语
  • 互联网后端技术大全!建议收藏
  • 1.8亿年前蜉蝣婚飞
  • 我科学家揭示最古老昆虫婚飞行为
  • Java后端大神总结的“造火箭”理论,找工作很有用哦
  • “长不大”的寒武纪:收入1.72亿,亏损6.22亿,市值暴跌800
  • 一图读懂《促进中小企业特色产业集群发展暂行办法》↓
  • hadoop、hbase、zookeeper集成kerberos认证
  • 黄河宿集:打动人的不止风景,还有场景
    • 网站地图 |
    • 声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。文章内容仅供参考,不做权威认证,如若验证其真实性,请咨询相关权威专业人士。