所以最近 Firebase 开始对 Cloud Functions 容器存储收费:https : //firebase.google.com/pricing
无免费使用 $0.026/GB
我已经多次部署了 2 个函数(不超过 10 次,不记得确切数量,但这仍然很低,IMO)。现在我已经收取了少量费用(现在是几分之一)。因此,如果我再部署这些功能几十次,我将接近一美元,因为旧的(和未使用的)容器不会从存储桶中删除。
有没有办法安全地删除过时的、未使用的容器来释放一些空间?好吧,似乎花几美分不值得花时间,但是,这仍然不是免费套餐应有的样子。
在nginx-proxy
Docker容器内部(下面有更多信息),我总是看到每个连接都有相同的IP地址:( 172.18.0.1
这是nginx-proxy
网络网关).例如:
nginx.1 | www.my-site.tld 172.18.0.1 - - [28/Nov/2017:17:22:21 +0000] "GET /some/path HTTP/2.0" 200 46576 "https://www.my-site.tld/some/path" "Mozilla/5.0 (Linux; Android 4.4.2; PSP5507DUO Build/KVT49L) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 YaBrowser/17.10.0.446.00 Mobile Safari/537.36"
Run Code Online (Sandbox Code Playgroud)
无论我是从外部网络,本地机器,还是从服务器(主机)本身发出请求,IP地址始终是172.18.0.1
.
我需要的是看到真正的客户端IP.
我搜索了很多,并尝试了不同的解决方案,但没有一个适合我.我尝试了以下方法:
--userland-proxy=false
(没有运气);--net=host
(根本不是解决方案,也不起作用).相关链接:
那么,有什么想法吗?似乎是iptables路由问题或内部Docker错误.无论如何,它肯定与Docker有关,因为以下显示正确的远程用户IP:
[root@server]# nc -lv 12345
[user@remote-client]$ nc -vz MY.IP.ADDRESS.HERE 12345
Run Code Online (Sandbox Code Playgroud)
很奇怪!
现在我将提供有关系统的完整信息,请耐心等待.:)
我安装了Centos 7.4和Docker:
# cat /etc/centos-release
CentOS Linux release 7.4.1708 (Core)
# uname -r
3.10.0-693.5.2.el7.x86_64
# …
Run Code Online (Sandbox Code Playgroud) networking docker docker-networking firewalld jwilder-nginx-proxy
我已经设置了一个k8s集群(目前1个裸机节点,既是master又是worker)。我还按照此处所述设置了 Nginx 入口控制器: https: //docs.nginx.com/nginx-ingress-controller/installation/installation-with-manifests/以下是具体步骤:
kubectl apply -f common/ns-and-sa.yaml
https://github.com/nginxinc/kubernetes-ingress/blob/release-1.11/deployments/common/ns-and-sa.yaml(无修改)kubectl apply -f rbac/rbac.yaml
https://github.com/nginxinc/kubernetes-ingress/blob/release-1.11/deployments/rbac/rbac.yaml(无修改)kubectl apply -f common/default-server-secret.yaml
https://github.com/nginxinc/kubernetes-ingress/blob/release-1.11/deployments/common/default-server-secret.yaml(无修改)kubectl apply -f common/nginx-config.yaml
https://github.com/nginxinc/kubernetes-ingress/blob/release-1.11/deployments/common/nginx-config.yaml修改文件:kind: ConfigMap
apiVersion: v1
metadata:
name: nginx-config
namespace: nginx-ingress
data:
ignore-invalid-headers: "false"
use-forwarded-headers: "true"
forwarded-for-header: "CF-Connecting-IP"
proxy-real-ip-cidr: "...IPs go here..."
Run Code Online (Sandbox Code Playgroud)
kubectl apply -f common/ingress-class.yaml
https://github.com/nginxinc/kubernetes-ingress/blob/release-1.11/deployments/common/ingress-class.yaml修改后的文件:apiVersion: networking.k8s.io/v1beta1
kind: IngressClass
metadata:
name: nginx
annotations:
ingressclass.kubernetes.io/is-default-class: "true"
spec:
controller: nginx.org/ingress-controller
Run Code Online (Sandbox Code Playgroud)
kubectl apply -f common/crds/k8s.nginx.org_virtualservers.yaml
kubectl apply -f common/crds/k8s.nginx.org_virtualserverroutes.yaml
kubectl apply …
Run Code Online (Sandbox Code Playgroud)