Ingress 是什么?
Ingress 是从集群外部到集群内 service 的HTTP和HTTPS路由。 流量路由由 Ingress 资源上定义的规则控制
负载均衡软件
- Nginx
- Traefik
- Envoy
创建Ingress资源
可能存在网站打不开的清空,因为网站不在国内
https://github.com/kubernetes/ingress-nginx/tree/master/deploy/static
https://kubernetes.github.io/ingress-nginx/deploy/#prerequisite-generic-deployment-command
傻瓜式部署(通用部署)
除minikube外的所有部署都需要以下命令
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/nginx-0.30.0/deploy/static/mandatory.yaml
手动部署
1、service-nodeport.yaml
为Ingress部署接收外部流量的service,也可以Ingress直接部署成共享节点网络的方式(确保端口不冲突)
apiVersion: v1
kind: Service
metadata:
name: ingress-nginx
namespace: ingress-nginx
labels:
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
spec:
type: NodePort
ports:
- name: http
port: 80
targetPort: 80
protocol: TCP
- name: https
port: 443
targetPort: 443
protocol: TCP
selector:
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
2、创建名称空间namespace
# 创建命名空间
kubectl create namespace dev
# 查看命名空间
kubectl get namespaces
# 删除命名空间
kubectl delete namespaces dev
3、tcp(udp)seveice-configmap
---
kind: ConfigMap
apiVersion: v1
metadata:
name: nginx-configuration
namespace: ingress-nginx
labels:
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
---
kind: ConfigMap
a