问题描述
我正在关注Kubernetes教程: https://kubernetes.io/docs/tutorials/stateless-application/guestbook/#creating-the-redis-master-service
I am following Kubernetes tutorial: https://kubernetes.io/docs/tutorials/stateless-application/guestbook/#creating-the-redis-master-service
但是我不明白这句话.在前端部署中,有GET_HOSTS_FROM变量.其值为"dns".是要进一步评估还是保留为"dns"?
However there is one line i do not understand. In frontend-deployment there is GET_HOSTS_FROM variable. Its value is "dns". Is it evaluated further or does it remain as "dns"?
这是整个对应的Yaml:
This is the whole corresponding yaml:
#application/guestbook/frontend-deployment.yaml
apiVersion: apps/v1 # for versions before 1.9.0 use apps/v1beta2
kind: Deployment
metadata:
name: frontend
labels:
app: guestbook
spec:
selector:
matchLabels:
app: guestbook
tier: frontend
replicas: 3
template:
metadata:
labels:
app: guestbook
tier: frontend
spec:
containers:
- name: php-redis
image: gcr.io/google-samples/gb-frontend:v4
resources:
requests:
cpu: 100m
memory: 100Mi
env:
- name: GET_HOSTS_FROM
value: dns
# Using `GET_HOSTS_FROM=dns` requires your cluster to
# provide a dns service. As of Kubernetes 1.3, DNS is a built-in
# service launched automatically. However, if the cluster you are using
# does not have a built-in DNS service, you can instead
# access an environment variable to find the master
# service's host. To do so, comment out the 'value: dns' line above, and
# uncomment the line below:
# value: env
ports:
- containerPort: 80
推荐答案
GET_HOSTS_FROM
的值不再进行评估-仍为"dns".
The value for the GET_HOSTS_FROM
isn't evaluated any further - it remains as "dns".
在应用程序的源代码中此处,GET_HOSTS_FROM
用于确定Redis主服务器和从服务器的主机是否来自环境,或者默认为主要和从属:
Looking at the application's source code here, GET_HOSTS_FROM
is used to determine if the hosts for the Redis primary and slave will come from the environment or, by default, be the Kubernetes service names for the primary and the slave:
$host = 'redis-master';
if (getenv('GET_HOSTS_FROM') == 'env') {
$host = getenv('REDIS_MASTER_SERVICE_HOST');
}
当主机名是Kubernetes服务名时,将使用集群的 DNS .
When the host names are Kubernetes Service names, they will be resolved using cluster's DNS.
值得一提的是Pod如何在相同或不同命名空间中引用服务(摘录是从上面给出的文档的链接):
It is worth mentioning how pods can reference Services in the same vs. a different namespace (the excerpt is from the link to the docs given above):
这篇关于GET_HOSTS_FROM变量的值是什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!