摘要:ingress-nginx是release名称,点.代表基于当前的chart包安装。
kubernetes创建命名空间:
kubectl create ns ingress-nginx
helm安装ingress-nginx的release包:
helm install ingress-nginx -n ingress-nginx . -f values.yaml
ingress-nginx是release名称,点.代表基于当前的chart包安装。
-f指定当前的注入参数值的文件values.yaml。
查看ingress-controller的pod控制器部署类型:
kubectl get pod ingress-nginx-controller-xxx -n ingress-nginx -o yaml | grep -i kind
可以发现部署pod的控制器类型是DaemonSet。也就是除了k8s-master节点,每个kubernetes worker node节点上一个pod。
因为k8s-master节点上有不可调度的污点。
查看不可调度污点:
kubectl describe node k8s-master | grep -i Taints
传统的nginx源码包安装之后,如果没有指定域名访问的话,会有一个默认的服务,一般是第一个server区域当做默认的服务。
在实际ingress的nginx中做了修改,它没有所谓的默认服务。如果没有指定域名,那么就会直接报错404。
通过ingress资源把外部流量路由到后端服务时,通常有两种方式:
1.通过service的名称和端口。
2.通过service的ClusterIP和端口。
但是在正常情况下,始终推荐使用service名称和端口。
飞机和列车
鼓励的话语:坚持下去,胜利就在不远处!
来源:MK恋爱魔术师