小编olo*_*epe的帖子

如何从 GC 存储中删除过时的 Firebase Cloud 函数容器?

所以最近 Firebase 开始对 Cloud Functions 容器存储收费:https : //firebase.google.com/pricing

无免费使用 $0.026/GB

我已经多次部署了 2 个函数(不超过 10 次,不记得确切数量,但这仍然很低,IMO)。现在我已经收取了少量费用(现在是几分之一)。因此,如果我再部署这些功能几十次,我将接近一美元,因为旧的(和未使用的)容器不会从存储桶中删除。

有没有办法安全地删除过时的、未使用的容器来释放一些空间?好吧,似乎花几美分不值得花时间,但是,这仍然不是免费套餐应有的样子。

firebase google-cloud-functions

19
推荐指数
3
解决办法
2235
查看次数

如何使Docker容器看到真正的用户IP?

问题

nginx-proxyDocker容器内部(下面有更多信息),我总是看到每个连接都有相同的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.

试图解决

我搜索了很多,并尝试了不同的解决方案,但没有一个适合我.我尝试了以下方法:

  • 禁用firewalld(在这种情况下什么都不起作用,当然,iptables是空的);
  • 使用--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

10
推荐指数
1
解决办法
3654
查看次数

Nginx ingress 忽略 ConfigMap 和注释

我已经设置了一个k8s集群(目前1个裸机节点,既是master又是worker)。我还按照此处所述设置了 Nginx 入口控制器: https: //docs.nginx.com/nginx-ingress-controller/installation/installation-with-manifests/以下是具体步骤:

  1. kubectl apply -f common/ns-and-sa.yaml https://github.com/nginxinc/kubernetes-ingress/blob/release-1.11/deployments/common/ns-and-sa.yaml(无修改)
  2. kubectl apply -f rbac/rbac.yaml https://github.com/nginxinc/kubernetes-ingress/blob/release-1.11/deployments/rbac/rbac.yaml(无修改)
  3. kubectl apply -f common/default-server-secret.yaml https://github.com/nginxinc/kubernetes-ingress/blob/release-1.11/deployments/common/default-server-secret.yaml(无修改)
  4. 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)
  1. 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)
  1. 这些命令:
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)

kubernetes nginx-ingress

1
推荐指数
1
解决办法
2459
查看次数