如何在 Kubernetes Pod 中注入环境变量及优先级问题
· ☕ 2 分钟
1. Kubernetes Pod 引用环境变量的几种方式 1.1 直接 Key/Value 可以直接设置 Value 值,也可以将当前 Pod 的信息作为 Value 值。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 apiVersion: v1 kind: Pod metadata: name: envar-demo labels: purpose: demonstrate-envars spec: containers: - name: envar-demo-container image: gcr.io/google-samples/node-hello:1.0 env: - name: DEMO_GREETING value: "Hello from the environment" - name: DEMO_FAREWELL value: "Such a sweet sorrow" - name: MY_NODE_NAME valueFrom: fieldRef: fieldPath: spec.nodeName - name: MY_POD_NAME valueFrom: fieldRef: fieldPath: metadata.name 1.2 从 Secret 引用 有两

给 Kubernetes 集群新增外部 DNS 服务
· ☕ 1 分钟
1. 给主机添加 DNS 1.1 CentOS 第一种方法: /etc/resolv.conf 管理 DNS 禁用 NetworkManager 如果不禁用 NetworkManager,在重启 NetworkManager 组件之后,直接在 /etc/resolv.conf 中添加的 DNS 记录会丢失。 1 2 3 4 vim /etc/NetworkManager/NetworkManager.conf [main] dns=none 在 [main] 部分添加 dns=none。 此时重启 NetworkManager,对已经添加到 /etc/resolv.conf 的记录无影

迁移 Docker 存储到新的硬盘
· ☕ 1 分钟
1. 硬盘格式化 查看新磁盘 1 fdisk -l 通常,第二块硬盘的名字会是 /dev/sdb 。 磁盘分区 1 fdisk /dev/sdb 会有提示输入参数: command (m for help):n Partition number(1-4):1 First cylinder (1-22800,default 1):Enter command (m for help):w 格式化磁盘为 ext4 1 mkfs.ext4 /dev/sdb 将磁盘挂载到指定目录 1 2 mkdir /data mount -t ext4 /dev/sdb /data 开机自动挂载目录 先找到设备的 UUID。 1 2 3 blkid |grep /dev/sdb /dev/sdb: UUID="328a9d32-abb6-492a-aabe-b6a63583674d" TYPE="ext4" 编辑 /etc/fstab 新

分阶段构建如何缓存第三方依赖
· ☕ 5 分钟
非分阶段构建场景下,使用容器进行构建时,我们可以将容器中的缓存目录挂载到构建主机上,执行构建任务;然后将产物拷贝到运行镜像,制作应用镜像。但是在分阶段构建时,构建镜像和运行镜像在同一个 Dockerfile 中,这给优化第三方依赖的缓存带来了难度。 1. 创建一个 Vue 实

常用的一些 MYSQL 命令
· ☕ 1 分钟
1. 免密登录 修改 /etc/my.cnf,在 [mysqld] 中添加一行: skip-grant-tables=1 重启 mysqld 服务 1 systemctl restart mysqld 使用 root 用户登录到 MySQL 1 mysql -u root 2. 允许全部访问来源 登录 MySQL 1 mysql -u root -p 在 mysql 交互命令行中输入: 1 2 3 4 USE mysql; SELECT user, host FROM user; update user set host = '%' where user = 'root'; FLUSH PRIVILEGES; 3. 导出全部数据 1 mysqldump -uroot -proot --all-databases >/tmp/all.sql