Category: DevOps

  • VIM 备忘录

    VIM 备忘录

    翻页 向上半页 control + d 向下半页 control + u 向上整页 control + f 向下整页 control + b 向上一行 control + e 向下一行 control + y 鼠标位置 屏幕中央 zz 屏幕顶部 zt / H 屏幕底部 zb / L

  • 脱坑: Amazon EFS CSI 驱动程序

    脱坑: Amazon EFS CSI 驱动程序

    首先,通过 Provision an EKS Cluster (AWS) 这篇文章,可以快捷的利用 terraform 在AWS 上部署一套 EKS。 如果想使用 pvc 和 pv,我们还需要给 K8s 安装 CSI 驱动。 AWS 给了我们一偏很详尽的安装说明: https://docs.amazonaws.cn/eks/latest/userguide/efs-csi.html 但是,我真心不知道有多少朋友能一次性就安装成功的。 为了方便管理和部署,我把 efs csi 安装过程 翻译成了 terraform 语义, 作为 Provision an EKS Cluster (AWS) 的补充 1. 创建 IAM 策略和角色 resource "aws_iam_policy" "policy" { name = "${local.cluster_name}_EKS_EFS_CSI_Driver_Policy" description = "A test policy" # Terraform's…

  • 从私有仓库拉取镜像

    从私有仓库拉取镜像

    参考文献: https://kubernetes.io/zh/docs/tasks/configure-pod-container/pull-image-private-registry/ 在集群中创建保存授权令牌的 Secret Create Secret kubectl create secret docker-registry yyy-regcred \ –docker-server=registry.cn-hangzhou.aliyuncs.com \ –docker-username=****@aliyun.com \ –docker-password=**** \ –docker-email=****@aliyun.com ## output -> secret/yyy-regcred created 获取凭证 kubectl get secret yyy-regcred –output="jsonpath={.data.\.dockerconfigjson}" | base64 –decode 输出和下面类似: {"auths":{"registry.cn-hangzhou.aliyuncs.com":{"username":"****@aliyun.com","password":"****","email":"****@aliyun.com","auth":"****"}}} Store Secret to .dockerconfigjson file 在 kustomization.yaml 中使用它 apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: – backend/deployment.yaml secretGenerator: – name: regcred files:…

  • 阿里云测试 MicroK8s 笔记

    阿里云测试 MicroK8s 笔记

    资料收集: https://stackoverflow.com/questions/63974879/microk8s-metallb-ingress-nginx-how-to-route-external-traffic https://pacroy.medium.com/single-node-kubernetes-on-home-lab-using-microk8s-metallb-and-traefik-7bb1ea38fcc2 SSL: https://stackoverflow.com/questions/67430592/how-to-setup-letsencrypt-with-kubernetes-microk8s-using-default-ingress 验证: 2021-06-24 kubectl remote control get config microk8s kubectl config view –raw > $HOME/.kube/config save the config file to local $HOME/.kube/config 设置端口转发 ## minikube is my remote server ip address ssh -fNT -L 16443:127.0.0.1:16443 microkube now: kubectl get node (base) ➜ .kube kubectl get nodes -o wide NAME STATUS ROLES…

  • 阿里云安装测试MiniKube

    阿里云安装测试MiniKube

    minikube 不适用于生产环境,只适合玩玩,研究太多没有多大意义,建议转向 MicroK8s set kubectl connect to remote minikube from local 1. before install minikube, you need install docker first. Install Docker Engine on Ubuntu 2. create a new user, because minikube can not start from root user. # create a user called docker, add to group docker useradd docker docker modify docker as sudo…

  • Github: 测试,构建和发布容器镜像到阿里云容器镜像服务
  • Docker on MacOS: PHP8 Xdebug3 for Visual Studio Code

    Docker on MacOS: PHP8 Xdebug3 for Visual Studio Code

    https://github.com/yao3060/php8-xdebug3-vscode-docker Docker on MacOS: PHP8 Xdebug3 for Visual Studio Code

  • LINUX 用uniq命令—-过滤、统计重复行

    例如文件 text.txt 里面有内容: 命令:查处文件中的重复行 去除重复行后输出,或者 -c 计算处每个重复行的数量 只输出唯一行

  • PHP Apps in a Subdirectory in Nginx

    PHP Apps in a Subdirectory in Nginx

    What We’re Using The server is Ubuntu 16.04, , we install Nginx 1.13 and PHP 7.2. The example PHP applications are Laravel 5.5. PLUS Docker ENV: https://github.com/yao3060/docker TL;DR Here’s the working configuration to have two Laravel apps working, where one application exists in a subdirectory of another. How This Works Let’s cover some details of…

  • 怎么删除 Docker Images, Containers, and Volumes

    怎么删除 Docker Images, Containers, and Volumes

    Purging All Unused or Dangling Images, Containers, Volumes, and Networks Docker provides a single command that will clean up any resources — images, containers, volumes, and networks — that are dangling (not associated with a container): docker system prune To additionally remove any stopped containers and all unused images (not just dangling images), add the -a flag…

  • Linux 使用私钥登录

    Linux 使用私钥登录

    生成ssh公钥密钥对:参考 2. 进入/root/.ssh目录下, 将公钥复制到 authorized_keys 文件。 3. 下载私钥 id_rsa,这样,便可以通过私钥来免密登录服务器了! 现在可以在本地 docker 起一台ubuntu 虚拟机

  • 在 Ubuntu 16/18 上重置 MySQL 5.7 root 账户密码

    在 Ubuntu 16/18 上重置 MySQL 5.7 root 账户密码

    apt install mysql-server, 莫名其妙的就装完了,都没有让我设置密码,现在只能通过其他方式来重置密码。 然后就可以通过 SQL 修改 root 密码了

  • How To Install Oracle Java JDK 11 / 8 on Ubuntu 18.04 / Linux Mint 19

    How To Install Oracle Java JDK 11 / 8 on Ubuntu 18.04 / Linux Mint 19

    Today we will be going through the steps to install Oracle Java JDK 11 / 8 on Ubuntu 18.04. Java SDK is the base for the JAVA developers, and this guide will be more useful for them to build a development environment when they especially use Ubuntu. Open up a terminal and switch to the root user. sudo…

  • docker-compose 小结

    docker-compose run 命令允许你为你的应用程序运行一次性命令。例如,查看哪些环境变量可以用于 web 服务: .bulid服务除了可以基于指定的镜像,还可以基于一份 Dockerfile,在使用 up 启动之时执行构建任务,这个构建标签就是 build,它可以指定 Dockerfile 所在文件夹的路径。Compose 将会利用它自动构建这个镜像,然后使用这个镜像启动服务容器。 设定上下文根目录,然后以该目录为准指定 Dockerfile args 添加构建参数,这些参数是仅在构建过程中可访问的环境变量,如 nginx 的 Dockerfile

  • nginx之proxy_pass指令完全拆解

    一、proxy_pass的nginx官方指南 nginx中有两个模块都有proxy_pass指令。 ngx_http_proxy_module的proxy_pass: ngx_stream_proxy_module的proxy_pass: 二、两个proxy_pass的关系和区别 在两个模块中,两个proxy_pass都是用来做后端代理的指令。ngx_stream_proxy_module模块的proxy_pass指令只能在server段使用使用, 只需要提供域名或ip地址和端口。可以理解为端口转发,可以是tcp端口,也可以是udp端口。ngx_http_proxy_module模块的proxy_pass指令需要在location段,location中的if段,limit_except段中使用,处理需要提供域名或ip地址和端口外,还需要提供协议,如”http”或”https”,还有一个可选的uri可以配置。 三、proxy_pass的具体用法 ngx_stream_proxy_module模块的proxy_pass指令 ngx_http_proxy_module模块的proxy_pass指令 四、proxy_pass后,后端服务器的url(request_uri)情况分析 文件: /data/www/test/test.php 通过查看 $_SERVER[‘REQUEST_URI’] 的值,我们可以看到每次请求的后端的request_uri的值,进行验证。 小结 情形A和情形B进行对比,可以知道proxy_pass后带一个URI,可以是斜杠(/)也可以是其他uri,对后端request_uri变量的影响。情形D说明,当location为正则表达式时,proxy_pass不能包含URI部分。情形E通过变量($request_uri, 也可以是其他变量),对后端的request_uri进行改写。情形F和情形G通过rewrite配合break标志,对url进行改写,并改写后端的request_uri。需要注意,proxy_pass地址的URI部分在情形G中无效,不管如何设置,都会被忽略。

  • Linux基本命令

    Linux基本命令

    arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 – (SMBIOS / DMI) hdparm -i /dev/hda 罗列一个磁盘的架构特性 hdparm -tT /dev/sda 在磁盘上执行测试性读取操作 cat /proc/cpuinfo 显示CPU info的信息 cat /proc/interrupts 显示中断 cat /proc/meminfo 校验内存使用 cat /proc/swaps 显示哪些swap被使用 cat /proc/version 显示内核的版本 cat /proc/net/dev 显示网络适配器及统计 cat /proc/mounts 显示已加载的文件系统 lspci -tv 罗列 PCI 设备 lsusb -tv 显示 USB 设备…

  • LINUX CP 命令详解

    LINUX CP 命令详解

    cp (复制档案或目录) [root@linux ~]# cp [-adfilprsu] 来源档(source) 目的檔(destination) [root@linux ~]# cp [options] source1 source2 source3 …. directory 参数: -a :相当于 -pdr 的意思; -d :若来源文件为连结文件的属性(link file),则复制连结文件属性而非档案本身; -f :为强制 (force) 的意思,若有重复或其它疑问时,不会询问使用者,而强制复制; -i :若目的檔(destination)已经存在时,在覆盖时会先询问是否真的动作! -l :进行硬式连结 (hard link) 的连结档建立,而非复制档案本身; -p :连同档案的属性一起复制过去,而非使用预设属性; -r :递归持续复制,用于目录的复制行为; -s :复制成为符号连结文件 (symbolic link),亦即『快捷方式』档案; -u :若 destination 比 source 旧才更新 destination ! 最后需要注意的,如果来源档有两个以上,则最后一个目的文件一定要是『目录』才行! 范例: 范例一:将家目录下的…

  • .htaccess 完全手册

    .htaccess 完全手册

    1.时区设置 有些时候,当你在PHP里使用date或mktime函数时,由于时区的不同,它会显示出一些很奇怪的信息。下面是解决这个问题的方法之一。就是设置你的服务器的时区。你可以在这里找到所有支持的时区的清单。 [code]SetEnv TZ Australia/Melbourne[/code] 2. 搜索引擎友好的301永久转向方法 为什么这是搜索引擎友好的呢?因为现在很多现代的搜索引擎都有能根据检查301永久转向来更新它现有的记录的功能。

  • WordPress Upload New Media “HTTP error”

    WordPress Upload New Media “HTTP error”

    版本是 3.2.1 在原本的服务器上运行无错,移植到新的服务器就有这个问题,大概就是服务器配置的缘故了。 官方上也相关的文章。http://wordpress.org/support/topic/25-imagemedia-uploader-problems 是apache Mod_Security 的缘故。如果你能够修改你服务器的httpd.conf文件的话,删除里面关于mod_security部分就可以了。不过多数wordpress玩家是没有权限修改这个文件的,那就只好修改.htaccess文件了。在.htaccess文件里面加上一行: SecFilterEngine Off SecFilterScanPOST Off 这样就可以关闭 Mod_Security。

  • Ubuntu 163 Sources List

    Ubuntu 163 Sources List

    Ubuntu 10.10 [code] deb http://mirrors.163.com/ubuntu/ maverick main restricted universe multiverse deb http://mirrors.163.com/ubuntu/ maverick-security main restricted universe multiverse deb http://mirrors.163.com/ubuntu/ maverick-updates main restricted universe multiverse deb http://mirrors.163.com/ubuntu/ maverick-proposed main restricted universe multiverse deb http://mirrors.163.com/ubuntu/ maverick-backports main restricted universe multiverse deb-src http://mirrors.163.com/ubuntu/ maverick main restricted universe multiverse deb-src http://mirrors.163.com/ubuntu/ maverick-security main restricted universe multiverse deb-src http://mirrors.163.com/ubuntu/ maverick-updates…