kubernetes中使用dns来访问服务
之前的文章kubernetes中pod间的通信 中,我们使用环境变量来解析服务的IP,但是可以使用环境变量有一个限制,所有的pods须在一个namespace中,也就是说在同一个namespace中的pod才会共享环境变量,如果不在同一个namespace该如何访问呢?我们还是一个python的flask应用为例,这次我们将redis放到default的namespace中,flask的应用放到yyxtest的namespace中。
之前的文章kubernetes中pod间的通信 中,我们使用环境变量来解析服务的IP,但是可以使用环境变量有一个限制,所有的pods须在一个namespace中,也就是说在同一个namespace中的pod才会共享环境变量,如果不在同一个namespace该如何访问呢?我们还是一个python的flask应用为例,这次我们将redis放到default的namespace中,flask的应用放到yyxtest的namespace中。
我们如果创建了一些pod,那么它们之间是怎么通信的呢?因为pod的ip地址是有可能变化的,这里我们主要讨论几个场景
当我们使用deployment或者RS创建了一些pod时,比如创建了一个nginx的pod,该pod中有三个replicas,此时,如果我们查看pod状态大概是这个样子的
工作中不是经常会写javascript,所以每次遇到写js代码的时候,都要上网上各种查,这里先总结一下,经常用的,之后再慢慢添加。
最近在看kubernetes的相关内空,参考《Kubernetes权威指南》第一章,搭建一个简单的应用,它里面使用的是RC,我直接使用RS来搭建。
我们通过kubernetes来部署一个应用,这个应用后台是一个php网站,数据库使用redis,redis采用一主两从的部署方式,做到读写分离,写操作走redis主库,读操作走reids从库。并且启动多个应用副本,达到负载均衡,总体的应用架构如下图

最近在使用flask的时候,有一个比较麻烦的事情,在跳转网页的时候需要设置cookie,使用单独设置cookie与单独跳转都比较简单,
from flask import redirect
@app.route("/redirect")
def redirecttest():
return redirect("/test")
from flask import Flask,make_response
app = Flask(__name__)
@app.route("/set_cookie")
def set_cookie():
#先创建响应对象
resp = make_response("set cookie test")
# 设置cookie cookie名 cookie值 默认临时cookie浏览器关闭即失效
# 通过max_age控制cookie有效期, 单位:秒
resp.set_cookie("display","yangyanxing",max_age=3600)
return resp
可以看到,设置cookie的response 最后是通过return 回来的,但是上面的网页跳转则是通过redirect() 函数返回的,所以这两个没法同时的使用。
查看redirect() 的源码
def redirect(location, code=302, Response=None):
if Response is None:
from .wrappers import Response
display_location = escape(location)
if isinstance(location, text_type):
# Safe conversion is necessary here as we might redirect
# to a broken URI scheme (for instance itms-services).
from .urls import iri_to_uri
location = iri_to_uri(location, safe_conversion=True)
response = Response(
'<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">\n'
"<title>Redirecting...</title>\n"
"<h1>Redirecting...</h1>\n"
"<p>You should be redirected automatically to target URL: "
'<a href="%s">%s</a>. If not click the link.'
% (escape(location), display_location),
code,
mimetype="text/html",
)
response.headers["Location"] = location
return response
可以看到,其实redirect函数也是通过构造一个response最后再将这个resonse return 出去,所以我们是否可以构造一个类似于redirect函数中的response对象,然后设置好status code是不是就可以了呢?
from flask import Flask,make_response,escape
app = Flask(__name__)
@app.route("/test")
def test():
response = make_response(
'<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">\n'
"<title>Redirecting...</title>\n"
"<h1>Redirecting...</h1>\n"
"<p>You should be redirected automatically to target URL: "
'<a href="%s">%s</a>. If not click the link.'
% (escape("https://www.baidu.com"),
escape("https://www.baidu.com")), 302)
response.set_cookie('display',"yangyanxing")
return respose
运行上面的代码,发现停留在/test 页面,显示上面的make_response的文字,并没有跳转,但是cookie中已经有display的cookie了,说明设置cookie成功了,跳转也成功了一半,只是它没有真正的跳转,还需要在网页上点击一下。
redirect函数中是通过 response.headers["Location"] = location 来设置的,在make_response 的返回响应对象中是通过response.location = 'xxxx' 来设置的
from flask import Flask,make_response,escape
app = Flask(__name__)
@app.route("/test")
def test():
response = make_response(
'<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">\n'
"<title>Redirecting...</title>\n"
"<h1>Redirecting...</h1>\n"
"<p>You should be redirected automatically to target URL: "
'<a href="%s">%s</a>. If not click the link.'
% (escape("https://www.baidu.com"),
escape("https://www.baidu.com")), 302)
response.set_cookie('display',"yangyanxing")
`response.location = escape("https://www.baidu.com")
return respose
这时就可以正常的跳转了
在写一个系统时不得不考虑高并发时数据库的写入准确性问题,拿mongodb来说,比如要插入一条数据,如果存在则更新,如果不存在则插入新数据,如果在多线程会有哪些问题呢?
最近接触一些serverless的一些内容,基础的内容可以查看 我建议你了解一点儿Serverless ,AWS和国内的云平台提供serverless,我通过几篇文章由浅入深的记录一下在阿里云上使用serverless。
最近在python中使用日志处理的时候有一个新的需求,将日志写入到数据库中,一开始比较懒,写一个循环,定时的去读本地日志文件,将里面的内容直接写到数据库中,很显然这种处理很low,后来又在外面写了一个服务,但本质上还是用循环读的方式将读出来的内容发个post请求然后入库,这两种方式本质上是一样的,而且第二种在发post请求的时候还遇到了内容过多导致服务解析失败的问题。
在神经网络最后的输出层,通常会使用激活函数将最后一层神经元得到的数据再进行计算,最终得到一个输出的结果,这里称该函数为激活函数,比对输出表达式为,当最后一层输出元得到的数据大于0,则输出1,小于0则输出0,这种称为阶跃函数,常见的激活函数有阶跃函数,sigmoid,ReLU,tanh函数