Category: DevOps
脱坑: 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 笔记
资料收集: 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 不适用于生产环境,只适合玩玩,研究太多没有多大意义,建议转向 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…
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
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
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 使用私钥登录
生成ssh公钥密钥对:参考 2. 进入/root/.ssh目录下, 将公钥复制到 authorized_keys 文件。 3. 下载私钥 id_rsa,这样,便可以通过私钥来免密登录服务器了! 现在可以在本地 docker 起一台ubuntu 虚拟机
在 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
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基本命令
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 命令详解
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 完全手册
1.时区设置 有些时候,当你在PHP里使用date或mktime函数时,由于时区的不同,它会显示出一些很奇怪的信息。下面是解决这个问题的方法之一。就是设置你的服务器的时区。你可以在这里找到所有支持的时区的清单。 [code]SetEnv TZ Australia/Melbourne[/code] 2. 搜索引擎友好的301永久转向方法 为什么这是搜索引擎友好的呢?因为现在很多现代的搜索引擎都有能根据检查301永久转向来更新它现有的记录的功能。
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 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…