-
确保helm已经安装到集群
helm init --upgrade --force-upgrade -i registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:v2.12.2
-
clone helm-charts
git clone --depth=1 https://github.com/helm/charts.git
-
安装
cd charts helm install --name freemud-nginx-ingress --namespace freemud-nginx-ingress ./stable/nginx-ingress --set-string controller.image.repository=quay-mirror.qiniu.com/kubernetes-ingress-controller/nginx-ingress-controller --set-string controller.ingressClass=freemud-nginx --set controller.replicaCount=4
freemud-nginx 是ingress class的类型 需要在声明ingress的时候指定, controller.replicaCount可以按需调整
- 配置示例
可以通过命令 kubectl --namespace freemud-nginx-ingress get services -o wide
获取nginx ingress的公网IP,用该ip地址添加到ingress配置里host的A记录里 就能实现访问
ingress的.metadata.annotations里必须声明 kubernetes.io/ingress.class 它的值和安装时指定的ingress class一致
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: freemud-nginx
nginx.ingress.kubernetes.io/proxy-body-size: 100m
nginx.ingress.kubernetes.io/proxy-connect-timeout: "300"
nginx.ingress.kubernetes.io/proxy-read-timeout: "300"
nginx.ingress.kubernetes.io/proxy-send-timeout: "300"
name: pe-main
spec:
rules:
- host: koderover-dev.app.8slan.com
http:
paths:
- backend:
serviceName: poetry-portal
servicePort: 80
path: /
status:
loadBalancer: {}