目的

说明

文档存在不足,正在完善!

default-http-backend

安装ningx-ingress-controller

导入configmap

  1. apiVersion: v1
  2. kind: ServiceAccount
  3. metadata:
  4. name: nginx-ingress-serviceaccount
  5. namespace: kube-system
  6. ---
  7. apiVersion: rbac.authorization.k8s.io/v1beta1
  8. kind: ClusterRole
  9. metadata:
  10. name: nginx-ingress-clusterrole
  11. rules:
  12. - apiGroups:
  13. - ""
  14. resources:
  15. - configmaps
  16. - endpoints
  17. - nodes
  18. - pods
  19. - secrets
  20. verbs:
  21. - list
  22. - watch
  23. - apiGroups:
  24. - ""
  25. resources:
  26. - nodes
  27. verbs:
  28. - get
  29. - apiGroups:
  30. - ""
  31. resources:
  32. - services
  33. verbs:
  34. - get
  35. - list
  36. - watch
  37. - apiGroups:
  38. - "extensions"
  39. resources:
  40. - ingresses
  41. verbs:
  42. - get
  43. - list
  44. - watch
  45. - apiGroups:
  46. - ""
  47. resources:
  48. - events
  49. verbs:
  50. - create
  51. - patch
  52. - apiGroups:
  53. - "extensions"
  54. resources:
  55. - ingresses/status
  56. - update
  57. ---
  58. apiVersion: rbac.authorization.k8s.io/v1beta1
  59. kind: Role
  60. metadata:
  61. name: nginx-ingress-role
  62. namespace: kube-system
  63. rules:
  64. - apiGroups:
  65. - ""
  66. resources:
  67. - configmaps
  68. - pods
  69. - secrets
  70. - namespaces
  71. verbs:
  72. - get
  73. - apiGroups:
  74. - ""
  75. resources:
  76. - configmaps
  77. resourceNames:
  78. # Defaults to "<election-id>-<ingress-class>"
  79. # Here: "<ingress-controller-leader>-<nginx>"
  80. # This has to be adapted if you change either parameter
  81. # when launching the nginx-ingress-controller.
  82. - "ingress-controller-leader-nginx"
  83. verbs:
  84. - get
  85. - update
  86. - apiGroups:
  87. - ""
  88. resources:
  89. - configmaps
  90. verbs:
  91. - create
  92. - apiGroups:
  93. - ""
  94. resources:
  95. - endpoints
  96. verbs:
  97. - get
  98. ---
  99. apiVersion: rbac.authorization.k8s.io/v1beta1
  100. kind: RoleBinding
  101. metadata:
  102. name: nginx-ingress-role-nisa-binding
  103. namespace: kube-system
  104. roleRef:
  105. apiGroup: rbac.authorization.k8s.io
  106. kind: Role
  107. name: nginx-ingress-role
  108. subjects:
  109. - kind: ServiceAccount
  110. name: nginx-ingress-serviceaccount
  111. namespace: kube-system
  112. ---
  113. apiVersion: rbac.authorization.k8s.io/v1beta1
  114. name: nginx-ingress-clusterrole-nisa-binding
  115. roleRef:
  116. apiGroup: rbac.authorization.k8s.io
  117. kind: ClusterRole
  118. name: nginx-ingress-clusterrole
  119. subjects:
  120. - kind: ServiceAccount
  121. name: nginx-ingress-serviceaccount
  122. namespace: kube-system

创建nginx-ingress-controller

验证

  1. apiVersion: v1
  2. kind: Namespace
  3. metadata:
  4. name: web-test
  5. ---
  6. apiVersion: v1
  7. kind: ReplicationController
  8. metadata:
  9. name: web
  10. namespace: web-test
  11. spec:
  12. replicas: 1
  13. selector:
  14. name: web
  15. template:
  16. metadata:
  17. labels:
  18. name: web
  19. spec:
  20. containers:
  21. - name: web
  22. image: hub.k8s.com/apps/php:7.1
  23. ports:
  24. - name: http
  25. containerPort: 80
  26. ---
  27. apiVersion: v1
  28. kind: Service
  29. metadata:
  30. name: wordpress-svc
  31. namespace: web-test
  32. labels:
  33. name: web-svc
  34. spec:
  35. clusterIP: 10.254.0.201
  36. ports:
  37. - port: 80
  38. selector:
  39. name: web
  40. ---
  41. apiVersion: extensions/v1beta1
  42. kind: Ingress
  43. metadata:
  44. name: web-ingress
  45. namespace: web-test
  46. spec:
  47. rules:
  48. - host: www.k8s.com
  49. http:
  50. paths:
  51. - path: /
  52. backend:
  53. servicePort: 80

访问