Dapr|应用配置管理 2023年1月1日 | 成长之路 介绍 用于获取配置信息的终结点,开发人员可以调用该终结点获取配置信息,而无需了解底层存储和数据访问机制。 使用说明 基于Dapr开发的应用,部署更新时,应用程序会有一个route为/dapr/config的被访问记录,可在应用程序的定义该route,用于访问或修改Dapr应用程序的配置…… 阅读全文
PHP项目容器化改造 2022年5月13日 | 成长之路 随着项目的更新迭代,项目复杂度越来越高,项目已从单一的 PHP 开发演变成 多语言 多运行时 的大型项目,进而更新部署也变得繁琐,所有需要一个 统一 自动化 的更新部署方案。至此 Docker容器化 部署则成为一个好的选择,一、方便各种私有化部署,二、也可以根据各模块压力灵活调整配置。 Dockerfile 简单示例 经过选型…… 阅读全文
K8S白话之Traefik扩名称空间资源引用 2022年5月6日 | 成长之路 默认配置Traefik处于安全考虑,默认不可以跨namespace访问资源,需自行如下配置才可以。 官方配置说明 https://doc.traefik.io/traefik/providers/kubernetes-crd/#allowcrossnamespace yaml方式 providers: kubernetesCRD: allowCrossNamespace: true # ... toml方式 [providers.kubernetesCRD] allowCrossNamespace = true # ... cli方式 --providers.kubernetescrd.allowCrossNamespace=true…… 阅读全文
K8S白话之安装Mysql和phpmyadmin 2022年3月15日 | 成长之路 已安装kubernetes和helm 安装bitnami chats helm repo add bitnami https://charts.bitnami.com/bitnami 安装Mysql # 设置 # root密码为cnplat # 初始化数据库dev # 账号dev 密码dev helm install up-mysql --set auth.rootPassword=cnplat,auth.database=dev,auth.username=dev,auth.password=dev bitnami/mysql 安装phpmyadmin # 已NodePort暴露, 请查询具体端口访问 helm install my-phpmyadmin --set service.type=NodePort bitnami/phpmyadmin…… 阅读全文
K8S白话之Rook自动扩容设置 2022年3月8日 | 成长之路 operator操作员yaml配置 ROOK_ENABLE_DISCOVERY_DAEMON: "true" CephCluster集群 yaml storage 配置: storage: useAllNodes: true useAllDevices: true 重启 rook 操作员, 已让操作员重新检测相关配置,把新存储自动加入 ceph osd里,完成扩容 kubectl rollout restart deploy rook-ceph-operator -n rook-ceph…… 阅读全文
K8S白话之Rook Ceph分布式存储 2022年2月3日 | 成长之路 用于Kubernetes的开源云原生存储 http://rook.io/ Rook 是一个开源的云原生存储编排器,为各种存储解决方案提供平台、框架和支持,以与云原生环境进行原生集成。 Rook 将存储软件转变为自我管理、自我扩展和自我修复的存储服务。它通过自动化部署、引导、配置、供应、扩展、升级、迁移、灾难恢复、监控和资源管理来…… 阅读全文
阿里巴巴 MySQL binlog 增量订阅&消费组件 2021年6月3日 | 成长之路 项目介绍地址 https://github.com/alibaba/canal 个人记录 因为是增量信息的订阅,所有需要自行设计全量(老数据)的同步或处罚机制,比如:首次运行进行全量数据同步情况的检测与同步,或相关数据表证据冗余字段,更新它触发更新处理。…… 阅读全文
K8S核心概念Service 2021年5月7日 | 成长之路 service-ClusterIP --- apiVersion: apps/v1 kind: Deployment metadata: name: nginx-app spec: # 副本数 replicas: 3 selector: matchLabels: app: nginx-clusterip template: metadata: labels: app: nginx-clusterip spec: containers: - name: nginx-clusterip image: nginx:latest imagePullPolicy: IfNotPresent ports: - containerPort: 80 --- apiVersion: v1 kind: Service metadata: name: nginx-clusterip-svc spec: type: ClusterIP selector: app: nginx-clusterip ports: - protocol: TCP port: 80 targetPort: 80 service-NodePort --- apiVersion: apps/v1 kind: Deployment metadata: name: nginx-nodeport spec: # 副本数 replicas: 3 selector: matchLabels: app: nginx-nodeport template: metadata: labels: app: nginx-nodeport spec: containers: - name: nginx-nodeport image: nginx:latest imagePullPolicy: IfNotPresent ports: - containerPort: 80 --- apiVersion: v1 kind: Service metadata: name: nginx-nodeport-svc spec: type: NodePort selector: app: nginx-nodeport ports: - protocol: TCP nodePort: 30001 port: 80 targetPort: 80…… 阅读全文
K8S核心概念Pod 2021年5月3日 | 成长之路 查看 默认查看 default命名空间下的 Pod kubectl get pod kubectl get pods 查询指定命名空间的Pod kubectl get pod --namespace kube-system kubectl get pods --namespace kube-system 精简查询方式 kubectl get pod -n kube-system kubectl get pods -n kube-system 查询详细信息 kubectl get pod -o wide 创建 apiVersion: v1 kind: Pod metadata: name: pod1 spec: containers: - name: nginx-containers image: nginx:latest imagePullPolicy: IfNotPresent ports: - name: nginxport containerPort: 80 kubectl apply -f pod.yaml 指定Namespace运行 kubectl apply -f pod.yaml -n demo 访问 删除 1. 命令行删除 kubectl delete pods pod1 -n default 2. 资…… 阅读全文