Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
Laboratorio de NodePort1 En este Laboratorio, lo que pretendemos hacer, es exponer un servicio de openshift, para que pueda ser accesible desde el exterior del cluster. Para ello, realizaremos lo siguiente. 1) Crearemos un nuevo proyecto en openshift [root@okd ~]# oc new-project nodeport2 2) Generamos un deployment de Mariadb, con usuarios y passwords. oc new-app --docker-image=docker.io/mariadb --name mariadb -e 'MYSQL_USER=mguazzardo' -e 'MYSQL_PASSWORD=master' -e 'MYSQL_DATABASE=test01' -e 'MYSQL_ROOT_PASSWORD=master' 3) Hacemos los testeos necesarios para que esto este corriendo como corresponde. [root@okd ~]# oc get svc NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE mariadb ClusterIP 172.30.68.169 <none> 3306/TCP 6m [root@okd ~]# oc describe svc mariadb Name: mariadb Namespace: nodeport2 Labels: app=mariadb Annotations: openshift.io/generated-by=OpenShiftNewApp Selector: app=mariadb,deploymentconfig=mariadb Type: ClusterIP IP: 172.30.68.169 Port: 3306-tcp 3306/TCP TargetPort: 3306/TCP Endpoints: 172.17.0.17:3306 Session Affinity: None Events: <none> Para que sea accesible por el exterior, debemos configurar que el type, sea nodePort, y que el NodePort, sea 30306 (Siempre arriba de 30000, que es una feature de kubernetes). Lo hacemos con el siguiente comando. [root@okd ~]# oc edit svc mariadb creationTimestamp: 2020-02-01T06:17:56Z labels: app: mariadb name: mariadb namespace: nodeport2 resourceVersion: "186804" selfLink: /api/v1/namespaces/nodeport2/services/mariadb uid: 968dc3a3-44ba-11ea-b1ed-08002771c7bd spec: clusterIP: 172.30.68.169 externalTrafficPolicy: Cluster ports: - name: 3306-tcp nodePort: 30306 port: 3306 protocol: TCP targetPort: 3306 nodePort: 30306 selector: app: mariadb deploymentconfig: mariadb sessionAffinity: None type: NodePort status: loadBalancer: {} Luego, vemos que todo marche correctamente: [root@okd ~]# oc describe svc mariadb Name: mariadb Namespace: nodeport2 Labels: app=mariadb Annotations: openshift.io/generated-by=OpenShiftNewApp Selector: app=mariadb,deploymentconfig=mariadb Type: NodePort IP: 172.30.68.169 Port: 3306-tcp 3306/TCP TargetPort: 3306/TCP NodePort: 3306-tcp 30306/TCP Endpoints: 172.17.0.17:3306 Session Affinity: None External Traffic Policy: Cluster Events: <none> Y ahora la prueba de fuego, poder conectarnos desde afuera con nuestro cliente de bases de datos, en este caso heidisql Una vez dentro, vemos que todo ha salido bien.
Compartir