文章目录
在OpenShift 4中通过Ingress Operator(名为ingress的clusteroperator)供应了Kubernetes的Ingress Controller对象(缺省名为default的ingresscontroller)并维护其生命周期,如果该default的ingresscontroller被删掉,Ingress Operator会自动重建新的ingresscontroller实例对象。OpenShift的Ingress Operator可以供应一个或多个基于HAProxy的Ingress Controller来实现外部入栈请求的流量路由。
Kubernetes缺省的Igress和OpenShift实现的Route功能区别如下:
查看缺省名为ingress的clusteroperator
$ oc get clusteroperators ingress
NAME VERSION AVAILABLE PROGRESSING DEGRADED SINCE
ingress 4.2.8 True False False 21d
查看缺省名为default的ingresscontroller
$ oc get ingresscontroller -n openshift-ingress-operator
NAME AGE
default 21d
$ oc describe ingresscontroller/default -n openshift-ingress-operator
Name: default
Namespace: openshift-ingress-operator
Labels: <none>
Annotations: <none>
API Version: operator.openshift.io/v1
Kind: IngressController
Metadata:
Finalizers:
ingresscontroller.operator.openshift.io/finalizer-ingresscontroller
Generation: 2
Resource Version: 24859
Spec:
Replicas: 1
Status:
Available Replicas: 1
Domain: apps-crc.testing
Endpoint Publishing Strategy:
Type: HostNetwork
Selector: ingresscontroller.operator.openshift.io/deployment-ingresscontroller=default
扩展default的ingresscontroller实例数
$ oc patch ingresscontroller/default --patch '{"spec":{"replicas": 3}}' --type=merge -n openshift-ingress-operator
ingresscontroller.operator.openshift.io/default patched
查看Ingress Operator的日志
$ oc logs deployments/ingress-operator -n openshift-ingress-operator
查看运行route的项目
其中Pod中运行了基于HA-Proxy的Route功能。
$ oc get all -n openshift-ingress
NAME READY STATUS RESTARTS AGE
pod/router-default-746d57f6d8-p7fct 1/1 Running 2 21d
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/router-internal-default ClusterIP 172.30.145.3 <none> 80/TCP,443/TCP,1936/TCP 21d
NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/router-default 1/1 1 1 21d
NAME DESIRED CURRENT READY AGE
replicaset.apps/router-default-746d57f6d8 1 1 1 21d