Esta Guía Comprensiva de Kubernetes incluye los comandos más utilizados y utilitarios para administrar y gestionar Kubernetes. Adicionalmente se incluye una referencia cómoda para los manifiestos de Kubernetes.
Es muy conveniente que antes de continuar pases por este artículo de Docker y sus generalidades.
1. Instalación y generalidades
Cuando tenemos aplicaciones en contenedores como docker, puede existir una cantidad importante de contenedores y su administración manual comienza a ser difícil, Kubernetes ayuda a administrar los diferentes contenedores estableciendo abstracciones de más alto nivel para gestionar facílmente aplicaciones.
Los comandos recopilados a continuación no pretenden ser una guía extensiva, pero si los más usados en el día a día de la administración de un cluster de kubernetes.
Antes de iniciar con el uso de Kubernetes deberás instalar kubectl y minikube que son las utilidades de administración de kubernetes y un pequeño cluster que puede correr localmente un un pc o laptop.
Finalmente, algo útil para observar es que casi todos los comandos tienen las mismas versiones, por ejemplo, casi todos permiten listar, crear, eliminar recursos de forma parecida, observar esto ayuda a memorizar los comandos.
2. Kubectl
Los siguientes comandos permiten verificar la instalación de kubectl y el estado del cluster actual.
kubectl version
kubectl cluster-info
kubectl get svc
2.1. Crear un nuevo deployment y pods
Un Deployment, es el concepto que mas se asemeja a una aplicación en Kubernetes. El comando típico para crear un nuevo deployment es el siguiente. Se pueden crear a partir de imágenes o usando especificaciones en formato yaml.
Este ejemplo muestra muchas de las características para crear una aplicación partiendo de un contenedor, en este caso usamos el servicio de Google Cloud Registry para obtener la imagen que queremos usar.
kubectl create deployment hello-minikube --image=gcr.io/google_containers/echoserver:1.10 --port=8080
kubectl expose deployment hello-minikube --type=NodePort
minikube service hello-minikube --url
kubectl get pod
kubectl get deployments
4.2. webserver
Similar al caso anterior podemos crear un nuevo deployment usando como base nginx. Note que aquí se usa la última versión de nginx, sin embargo esto no es recomendable puesto que si el cluster de kubernetes ya ha descargado el tag latest, no lo volverá hacer a menos que hagamos algún cambio significativo en nuestro despliegue, por lo cual siempre es conveniente especificar la versión que queremos usar para evitar problemas de actualización de nuestros contenedores.
kubectl create deployment hello-nginx --image=nginx --port=80
kubectl expose deployment hello-nginx --type=NodePort
minikube service hello-nginx --url
kubectl get pod
kubectl get deployments
El Cálculo Vectorial es una de las ramas con más aplicaciones del cálculo, permite calcular flujos y entender muchos fenómenos físicos que han sido modelados con esta potente herramienta. En esta entrada se abordan los diferentes conceptos clave y teoremas que han sido resultado de esta rama de las matemáticas.
Si quieres aprender desde cero temas básicos de cálculo puedes seguir este enlace.
1. Campos escalares y vectoriales
Un campo vectorial es una función $F$ que asigna a un punto en $\mathbb R^2$ o $\mathbb R^3$ un vector. Este campo se puede escribir como:
$\mathbf F=P(x,y)\mathbf i +Q(x,y)\mathbf j$
Donde las funciones $P$ y $Q$ se conocen como campos escalares.
1.1. Campos gradientes
Si verificamos nuevamente la definicion de gradiente, encontramos que esta dado por:
Por lo cual se puede apreciar que el campo gradiente en realidad es un campo vectorial.
Note que el campo gradiente de una función $f(x,y)$, que corresponde a una superficie en el espacio, es un campo en el plano, donde cada vector señala la máxima dirección de crecimiento de la superficie en el espacio.
2. Integrales de línea
Las integrales de superficies se pueden calcular caudndo en el plano se tiene una region $D$ sobre la cual se quiere integrar o cuando se integra sobre uno de los ejes. Sin embargo es posible encontrar una integral de línea o también conocida como de curva o cortina dado una curva en el plano y la respectiva superficie a integrar, es algo similar a calcular el a´rea bajo la curva en el plano proyectada sobre la superficie a integrar.
La siguiente ecuación permite realizar el cálculo de esta integral de línea.
Note como la superficie a integrar ha sido escrita como una parametrización de $t$ y que además la integral de la raíz cuadrada cooressponde a la longitud de arco.
En caso que las integrales de línea se calculen sobre los ejes $x$ e $y$ podemos escribir:
Note que este caso no se parametrizó la superificie.
La parametrización de la superficie puede ser el mayor reto, en ocasiones es conveniente recordar la parametrización de un segmento de línea que comienza en $\mathbf r_0$ y termina en $\mathbf r _1$, con $0 \leq t \leq 1$:
$\mathbf r(t)=(1-t)\mathbf r_0+t\mathbf r_1$
En general, la parametrización determina una orientación de la curva $C$ en la dirección positiva que corresponde a un incremento del parametro $t$
2.1. Integrales de línea de campos escalares y vectoriales
Las integrales mencionadas anteriormente requieren de una curva en el plan y una superficie en el espacio, sin embargo las integrales de línea también se pueden calcular si se tiene en el plano un campo vectorial y una curva $C$ sobre el mismo dada por la función vectorial $\mathbf r(t)$ con $a \leq t \leq b$. Esta integral de línea a lo largo de $C$ se escribe así:
$\int_C \mathbf F \cdot d\mathbf r=\int_a^b{\mathbf F(\mathbf r(t)) \cdot \mathbf r'(t)dt}=\int_C\mathbf F \cdot \mathbf T ds$
Note que $\mathbf F(\mathbf r(t)$ es una forma abreviada de escribir $\mathbf F(x(t),y(t),z(t))$.
Así mismo, se puede obtener las siguiente relación entre las integrales de linea sobre campos vectoriales e integrales de línea de campos escalares.
$\int_c \mathbf F \cdot d\mathbf r=\int_C Pdx+Qdy+Rdz$
Con $\mathbf F=P\mathbf i + Q\mathbf j + R\mathbf k$
Interpretación: en este caso note que la integral de línea no es un área bajo la curva, en este caso, si $\mathbf F$ y $\mathbf r$ que es el vector que representa la curva, si ambos estan en el plano, esta integral de línea del producto punto del campo vectorial y el vector que describe la curva se puede interpretar como la suma delas contribuciones infinitesimales de cada producto punto entre el campo vectorial y el cetor de la curva para cada punto sobre la curva.
2.2. Teorema fundamental de las integrales de línea
Este teorema establece que si la integral del línea del campo vectorial, corresponde a un campo vectorial gradiente, solomante es necesario obtener la diferencia de los valores de la función en los extremos de la curva:
Del teorema anterior se desprenden algunas consecuencias importantes y definiciones que se recopilan a continuación.
En primer lugar, se establece la independencia de la trayectoria, es decir, el resultado de la intelgral de línea no depende de la curva, si en una región $D$:
$\int_C\mathbf F \cdot d\mathbf r=0$
para toda trayectoria cerrada $C$ en $D$.
Además, si $\mathbf F$ es un campo vectorial continuo en una region abierta y conexa $D$. Si $\int_C\mathbf F\cdot d\mathbf r$ es independiente de la trayectoria en $D$ entonces se dice que $\mathbf F$ es un campo vectorial conservativo sobre $D$, en otras palabras existe la función potencial $f$ que genera $\nabla f=\mathbf F$.
Adicionalmente, si $\mathbf F=P(x,y)\mathbf i + Q(x,y)\mathbf j$ es un campo vectorial conservativo y $P$ y $Q$ tienen derivadas parciales de primer orden continuas sobre un dominio $D$ entonces:
Definamos una curva simple como aquella que no se cruza a si misma, adicionalmente podemos definir curvas simples abiertas y cerradas y una región simplemente conexa si la región no tiene “huecos”.
Con $\mathbf F=P(x,y)\mathbf i + Q(x,y)\mathbf j$ un campo vectorial sobre una region abierta simplemente conexa en $D$ y con $P$ y $Q$ con derivadas parciales de primer orden continuas y además:
El teorema de Green establece una relación entre las integrales de línea, cuando la curva sobre la que se integra encierra una área y una integral doble sobre esa área. En este sentido, la región encerrada por la curva debe ser recorrida por el vector $\mathbf r$ en sentido antihorario, siendo esta la convención conocida como orientación positiva de la región.
$\int_C\mathbf F \cdot d \mathbf r= \int_C Pdx+Qdy = \iint_D(\frac{\partial Q}{\partial X}-\frac{\partial P}{\partial y})dA$
Este teorema se considera como una extensión del teorema fundamental del cálculo y la integral anterior se puede escribir como sigue a continuacion para indicar que la integral de línea se calcula sobre la orientación positiva de la curva cerrada $C$.
$\oint_C Pdx+Qdy$
El teorema de Green provee la siguiente formula para el cálculo del área:
El rotacional es una operación sobre vectores que produce un campo vectorial y que se escribe usando el producto cruz de las operaciones con vectores. La forma de calcular el rotacional y su notación se muestra a continuación.
En este caso si el campo vectorial tiene derivadas parciales continuas de segundo orden entonces:
$\nabla \cdot \nabla \times \mathbf F=0$
Teorema de Green
Usando las operaciones vectoriales se puede volver a escribir el teorema de Green usando el rotacional y la divergencia:
$\oint_C \mathbf F \cdot d\mathbf r=\iint_D(\nabla \times \mathbf F) \cdot \mathbf k dA$
$\oint_C \mathbf F \cdot \mathbf n ds=\iint_D(\nabla \cdot \mathbf F) dA$
5. Integrales de Superficie
las integrales de superficie son el equivalente de las integrales de línea pero en una dimensión superior, en este caso las integrales de superficie permiten calcular las sumatoria de las contribuciones de un campo vectorial a través de una superficie, lo cual se puede escribir así:
Observe que esta no es la misma área superficial, así como la integral de línea no es el área bajo la superficie delimitada por la curva. Estas integrales son muy utilizadas en cálculos de campos y flujos como los electromagnéticos.
Si la parametrización es $x=x$, $y=y$ y $z=g(x,y)$ esta integral de superficie es:
La integral de superficie para campos vectoriales requerira el vector normal unitario a la superficie, que para una superficie cerrada la convencio es que estos vecotores son positivos cuando apuntan hacia afuera de la superficie, esto se conoce como orientación positiva de la superficie. Con:
El teorema de Stokes se puede considerar un equivalente del teorema de Green pero para una dimensión más alta al relacionar una integral de liena con una integral de superficie.
Sea $S$ una superficie orientada y suave a segmentos, acotada por una curva frontera $C$ suave a segmentos, cerrada y simple, con orientaciones positivas y $\mathbf F$ un campo vectorial con derivadas parciales continuas sobre la región que contiene a $S$ entonces:
$\int_C\mathbf F \cdot d\mathbf r=\iint_S \nabla \times \mathbf F \cdot d \mathbf S$
7. Teorema de la Divergencia
Similar al teorema de Stokes el teorema de la divergencia relaciona la integral de superficie con una integral tripe sobre un volumen. Observe que son variaciones de los diferentes resultados de las operacioens vectoriales de las integrales pero en dimensiones más altas.
$\iint_S\mathbf F \cdot d\mathbf S=\iiint_E \nabla \cdot F dV$
Las Integrales Dobles y Triples son la aplicación del concepto de Integral al cálculo de múltiples variables, estas integrales aparecen frecuentemente en muchos campos como probabilidad, centros de masa, cálculo de volúmenes y un sin fin de aplicaciones a física y otras ramas del conocimiento.
Si quieres aprende sobre integrales puedes comenzar aquí.
1. Definición de integral doble
Esta definición de integral doble es bastante fácil de entender pues es simplemente la extensión a varias variables de la integral sencilla. Aquí es conveniente recordar que la integral de una variable es el área de la curva formada por la suma de rectangulos y haciendo que el ancho de estos rectangulos tienda a cero, similarmente con dos variables sería el volumen bajo la superficie determinado por:
A la parte derecha de la ecuación anterior se le conoce como la Suma de Riemann. Si la función es positiva $f(x,y)>0$ se puede interpretar la integral como el volumen:
$V=\iint_R{f(x,y)dA}$
Similar al caso de una variable podemos encontrar el valor promedio de una función de dos variables usando:
$f_{prom}=\frac{1}{A(R)}\iint_R{f(x,y)dA}$
2. Propiedades de la Integrales dobles
Las integrales múltiples cumplen las mismas propiedades de las integrales simples:
Si $f(x,y) \ge g(x,y)$ entonces $\iint f(x,y)dA \ge \iint g(x,y)dA$
Si $m \le f(x,y) \le M$ se cumple en el dominio de integracion $D$ entonces $mA(D) \le \iint_D{f(x,y)dA} \le MA(D)$
3. Integrales iteradas y Teorema de Fubini
Para calcular integrales dobles se puede realizar el cálculo de una de las integrales primero que la otra de forma iterada, elegir cual variable se integra primero conduce a que sea más fácil calcular la segunda. El Teorema de Fubini establece que el orden en que se calculan las derivadas produce el mismo resultado.
Sea $f$ continua en $R={(x,y)|a \le x\le b, c \le y \le d}$ entonces
Una consecuencia del Teorema de Fubini que puede simplificar el cálculo de algunas integrales es si la función se puede dividir como dos funciones exclusivamente de $x$ y $y$:
En las integrales definidas anteriormente, la región de integración corresponde a un rectangulo sobre el plano $XY$, sin embargo se puede realizar integrales sobre regiones más generales definidas por curvas dependintes de $x$ (regiones tipo I) o curvas dependientes de $y$ (regiones tipo II).
A continuación se muestran las ecuaciones para calcular estas integrales.
Para regiones tipo I:
$D={(x,y) \in a \le x \le b, g_1(x) \le y \le g_2(x)}$
Para realizar una integral en coordenadas polares puede utilizarse el siguiente cambio de variable:
Si $f$ es continua en un rectangulo polar dado por $R$ tal que $0 \le a \le r \le b$ y $\alpha \le \theta \le \beta$ y $0 \le \beta – \alpha \le 2 \pi$ entonces:
Note que también puede integrar sobre funciones que definan los arcos similar al caso de integrales sobre regiones generales en coordenadas rectangulares.
5. Aplicaciones de Integrales dobles
Algunas de las aplicaciones más comunes de integrales dobles se muestran a continuación, estas aplicaciones fácilmente pueden ser extendidas a más de dos dimensiones utilizando integrales triples.
5.1. Masa
Dada la densidad, que es la masa por unidad de área y si esta densidad es variable se puede utilizar esta definición para calcular la masa usando:
$m=\iint_D{\rho(x,y)dA}$
5.2. Momentos
Los momentos de masa se pueden entender desde su aplicación que permite obtener el centro de masa de una lámina, estos centros de masa equivalen al punto donde la lámina se equilibra y es equivalente a tener toda la mas ubicada en ese punto, a continuación se dan las ecuaciones de los momentos y centros de masa de una lámina con densidad variable.
$M_x=\iint_D{y\rho(x,y)dA}$
$M_y=\iint_D{x\rho(x,y)dA}$
Y el centro de masa:
$\bar x=\frac{1}{m}\iint_D{x\rho(x,y)dA}$
$\bar y=\frac{1}{m}\iint_D{y\rho(x,y)dA}$
Los segundos momentos son conocidos así pues representan el momento de inercia de la lámina, a continuación se muestran estos momentos respecto a los ejes y al origen, este último también se conoce como momento polar de inercia:
$I_x=\iint_D{y^2\rho(x,y)dA}$
$I_y=\iint_D{x^2\rho(x,y)dA}$
$I_0=\iint_D{(x^2+y^2)\rho(x,y)dA}$
5.2. Área Superficial
El área de una superficie se puede calcular con el uso de integrales dobles, si tenemos la representación paramétrica de la superficie:
Las integrales triples son muy parecidas a las integrales dobles excepto que existe una variable adicional, además aplican las mismas reglas y principios. En este caso no existe una interpretación gráfica como tal ya que la región de integración es un volumen y se esta integrando una función de tres variables cuyos valores se requerirían dibujar en el hiperespacio cuadridimensional.
El teorema de Fubini aplica de igual manera y las regiones de integración no necesariamente deben ser cubos, sino que pueden ser funciones que acoten la región.
En general la integral de tres variables se define con sumas de Reimann y se puede escribir como:
La transformación o cambio de una variable cuando la integral es de una sola variable se puede realizar de la siguiente manera:
$\int_a^b{f(x)dx}=\int_c^d{f(g(u))g'(u)du}$
La equivalencia entre los límites esta dada por $x=g(u)$ es decir $a=g(c)$ y $b=g(d)$.
En el caso de dos o más variables, también se puede realizar cambios de variables, como el de coordenadas polares, cilíndricas o esféricas. Para realizar este cambio debemos comprender que se esta transformando la región original de integración en una nueva y que para ello denotamos el nuevo plano y los nuevos límites con nombres de variables diferentes. Así mismo, definimos que una transformación $T$ es una $transformacion C^{-1}$ lo cual indica que las funciones de transformación $g$ y $h$ tienen derivadas parciales continuas.
$x=g(u,v)$
$y=h(u,v)$
Las nuevas variables son $u$ y $v$ y el la región original $R$ se llamará ahora $S$.
En general integrar realizando un cambio de variables en dos o más variables es conveniente definir el siguiente determinante que se conoce como el jacobiano:
Luego de estudiar las derivadas en una sola variable y en general el cálculo en una sola variables, la extensión natural surge cuando consideramos funciones de más de una variable y por lo tanto también aparece la posibilidad de obtener Derivadas Parciales en Varias Variables, las consideraciones más importantes se recopilan en este post.
Para aprender derivadas en una sola variable sigue este link.
1. Funciones varias variables
Las funciones de dos variables se representan como superficies en el espacio tridimensional y depende de dos variables. El dominio y el rango de estas funciones es similar al caso de funciones de una sola variable.
Alternativamente, las funciones de dos variables se pueden representar como curvas en el plano usando las denominadas curvas de nivel que son aquellas curvas para las cuales las funciones de dos variables asumen el mismo valor, esta aproximación es bastante usada en cartografía. Las curvas de nivel están dadas por:
$f(x,y)=k$
También pueden existir funciones de más de dos variables en cuyo caso no se puede obtener una representación gráfica, a lo sumo se puede obtener superficies de nivel y dibujar estas superficies en el espacio tridimensional.
2. Límites y Continuidad
En el caso de varias variables se puede expresar:
$\lim_{(x,y)\to {(a,b)}} f(x,y)=L$
Entonces podemos acercar el valor del límite a $L$ tanto como queramos, acercado lo suficiente $(x,y)$ a $(a,b)$ pero sin que sean iguales.
En el caso de varias variables hay una diferencia con una sola variable y es que para aproximarnos a un punto en el caso de una sola variable solo habían dos opciones o por la izquierda o por la derecha, sin embargo en el caso de varias variables tenemos infinitas opciones o trayectorias, un límite no existe si los valores de los límites por trayectorias diferentes difieren. Dado que no es posible demostrar que un límite exista para todas las trayectorias, se pueden usar alternativas como el teorema del emparedado para demostrar la existencia de estos límites.
Adicionalmente, si el límite existe en un punto $(a,b)$ se dice que la función es continua. Hay que tener presente que la función también puede ser continua en todo el dominio o un subconjunto del dominio.
3. Derivadas parciales
Para realizar una derivada parcial de una función $f(x,y)$ respecto de $x$ simplemente se debe derivar siguiendo las mismas reglas del caso de una variable y tomando $y$ como constante, en este caso se encontrará la pendiente de la superficie y el plano reticular $x$. Similarmente se puede realizar la derivada parcial respecto a $y$.
Para representar la derivada parcial de $x$ se puede usar las siguientes notaciones
En el caso de más de dos variables la derivada parcial opera en la misma forma que este caso, se toma la variable respecto de la cual se desea derivar y se dejan fijas el resto de variables.
También es posible realizar derivadas de orden superior simplemente tomando la derivada correspondiente del resultado previo de derivar. Las derivadas de orden superior se pueden escribir así:
Cuando aparecen las derivadas de orden superior o segundas derivadas es posible que nos encontremos con las diferentes combinaciones de derivación entre las variables $x$ y $y$, por ejemplo, aquí se muestra la derivada cruzada primero derivando en $x$ y luego en $y$
$(f_x)_y=f_{xy}=f_{12}=\frac{\partial}{\partial y}\frac{\partial f}{\partial x}=\frac{\partial^2f}{\partial y \partial x}$
3.1. Teorema de Clairaut
Este teorema establece una igualdad entre las derivadas cruzadas, siendo $f$ una función continua en un disco $D$ entonces se cumple que:
$f_{xy}=f_{yx}$
3.2. Regla de la cadena en varias variables
La regla de la cadena en varias variables se puede escribir con los siguientes dos casos:
Caso 1:
Una función $z=f(x,y)$ es una función diferenciable de $x$ y $y$, donde $x=g(t)$ y $y=h(t)$ son funciones diferenciables de $t$ Entonces $z$ es una función diferenciable de $t$:
La regla de la cadena permite obtener ecuaciones sencillas para derivadas complejas, se puede obtener la derivada de $y$ respecto a $x$ usando
$\frac{dy}{dx}=-\frac{F_x}{F_y}$
4. Aproximaciones lineales
En el cálculo de una variable una de las ideas más importantes es que a medida que nos acercamos a un punto la gráfica se parece cada vez más a una línea recta lo cual permite obtener simplificaciones de funciones alrededor de ese punto. En el cálculo de varias variables sucede lo mismo, excepto que la aproximación esta dada por un plano tangente y no por una recta.
Si $f$ tiene derivadas parciales continuas, una ecuación del plano tangente a la superficie $z=f(x,y)$ en el punto $P_0$ es:
$z-z_0=f_x(x_0,y_0)(x-x_0)+f_y(x_0,y_0)(y-y_0)$
A $z$ en la ecuación anterior se le conoce como linealización o aproximación lineal o plano tangente de aproximación de la función $f$.
De la linealización se puede obtener que:
Si las derivadas parciales $f_x$ y $f_y$ existen cerca de $(a,b)$ y son continuas en $(a,b)$ entonces $f$ es diferenciable en $(a,b)$
4.1 Planos tangentes y superficies paramétricas
En el caso que la función (superficie) sea descrita por sus ecuaciones paramétricas:
Si $\mathbf r_u \times \mathbf r_v$ no es \mathbf 0$ se dice que la superficie es suave y un plano tangente contiene estos dos vecores.
5. Derivadas direccionales y Vector gradiente
Hasta el momento las derivadas parciales han sido respecto a una de las variables independientes de la función. Es posible calcular la derivada en cualquier dirección, no solamente en las direcciones de $x$ o $y$ para ello es necesario contar con el vector unitario que da la dirección en la cual queremos calcular la derivada $\mathbf u = $. En este caso se obtendra la pendiente de la superficie cortada por la reticula en la dirección del vector.
Para calcular la derivada direccional se puede realizar con la siguiente fórmula:
$D_uf(x,y)=f_x(x,y)a+f_y(x,y)b$
El vector gradiente, es un vector especial y muy utilizado en cálculo vectorial y se define como:
$\nabla f(x,y)=\frac{\partial f}{\partial x}\mathbf i + \frac{\partial f}{\partial y}\mathbf j$
Con esta notación podemos reescribir la derivada direccional usando el vector gradiente el producto punto:
$D_uf(x,y)=\nabla f(x,y) \cdot \mathbf u$
La importancia del vector gradiente es debido a que la dirección del vector gradiente corresponde a la mpaxima velocidad de cambio de la superficie correspondiente. Otro hecho destacable es que el vector gradiente es perpendicular a la curva de nivel (o superficie de nivel en el caso de una función de tres variables).
6. Valores Máximos y Mínimos
Una función $f$ tiene un valor máximo o mínimo local en $(a,b)$ y existen las derivadas parciales de primer orden de $f$ entonces $f_x(a,b)=0$ y $f_y(a,b)=0$
En el caso que se cumpla que ambas derivadas sean cero o que alguna de ellas no exista se llama a este un punto crítico o estacionario.
También se puede obtener mediante la prueba de la segunda derivadas información para clasificar los máximos y los mínimos. Si las segundas derivadas son continuas en un disco con centro en $(a,b)$ y este es un punto crítico; sea:
$D=D(a,b)=f_{xx}(a,b)f_{yy}(a,b)-(f_{xy})^2$
Si $D>0$ y $f_{xx}(a,b)>0, entonces $f(a,b)$ es un mínimo local.
Si $D>0$ y $f_{xx}(a,b)<0, entonces $f(a,b)$ es un máximo local.
Si $D<0$ entonces $f(a,b)$ es un punto de silla.
6.1. Máximos y mínimos absolutos
El teorema del valor extremo para funciones de dos variables establece que si $f$ es continua en un conjunto cerrado y acotado $D$ en $\mathbb R^2$ entonces $f$ tiene un máximo y un mínimo absoluto en algunos puntos de $D$.
Para hallar los valores máximos y mínimos absolutos, es suficiente con encontrar los valores máximos y mínimos correspondientes a los puntos críticos y luego hallar los valores correspondientes a los puntos sobre la frontera $D$, el mayor será el máximo absoluto y el menor será el mínimo absoluto.
7. Multiplicadores de Lagrange
Los multiplicadores de Lagrange es una técnica que permite encontrar el máximo y mínimo de una función $f(x,y,z)$ limitada por otra $g(x,y,z)=k$ para ello se debe resolver el sistema de ecuaciones:
$\nabla f(x,y,z)=\lambda \nabla g(x,y,z)$
$g(x,y,z)=k$
En este caso $k$ es el valor de la superficie que limita la función $f$
Una extensión de este método usando dos restricciones implica que el sistema de ecuaciones simultaneas sea:
Las Funciones Vectoriales se utilizan frecuentemente en el estudio de fenómenos físicos y son de suma importancia como punto de entrada a conceptos más avanzados en cálculo y otras disciplinas de las matemáticas. Aquí se introducen las principales características y conceptos relacionados.
Una función vectorial es similar a una función de una variable, simplemente que en lugar definirse como una regla que asigna valores numéricos correspondientes a valores de una variable, asigna vectores a valores correspondientes de una variable comúnmente llamada parámetro y simbolizado por $t$
Una función vectorial se puede definir de la siguiente manera:
En este sentido la continuidad de la función se define de forma similar al caso de funciones ordinarias, la función es continua entonces si el limite de la función en un valor dado $a$ es igual al valor de la función en ese punto.
$\lim_{t \to a}\textbf r(a)=\textbf r(a)$
2. Derivadas e Integrales de Funciones Vectoriales
Las derivadas e integrales de las funciones vectoriales se definen de forma similar al caso en que las funciones sean ordinarias.
2.1. Derivadas de Funciones Vectoriales
La derivada de la función vectorial se define como:
La longitud de arco de una curva dada por una función vectorial, entre los parámetros $a$ y $b$ en un espacio $\mathbf R^3$ se puede definir como:
$L=\int_a^b{|\textbf r'(t)|dt}$
En general, una misma curva $C$ puede expresarse con diferentes funciones vectoriales, con lo cual cada una de las funciones que representan la curva $C$ se denominan parametrizaciones de la curva.
Una parametrización que a menudo resulta útil (porque no depende de ningún sistema coordenado) es la parametrización usando la longitud de arco.
Sea la longitud de arco:
$\frac{ds}{dt}=|\textbf r'(t)|$
Se puede parametrizar realizando la sustitución:
$t:\textbf r=\textbf r(t(s))$
3.1. Curvatura
La curvatura de una curva, en un punto ddo se define como se define como:
Dado el vector anterior, también es posible definir en un punto dado de la curva ecuaciones para el vector normal unitario principal $\textbf N(t)$ y el vector binormal $\textbf B(t)$ dados por las siguientes ecuaciones:
Las funciones vectoriales en función de un único parametro describen curvas en $\mathbb R^3$, similarmente las funciones vectoriales de dos parametros pueden describir superficies en $\mathbb R^3$, en este caso la ecuación de esta superficie esta dada por:
$\textbf r(u,v)=x(u,v)\textbf i + y(u,v)\textbf j + z(u,v)\textbf k$
Los Sistemas de Coordenadas son muy útiles ya que de su correcta elección un problema puede resolverse fácilmente o por el contrario puede resultar muy complejos o casi imposible. Este post contiene las diferentes equivalencias que existen entre los Sistemas de Coordenadas más comunes.
Tenga presente que existen otros sistemas de coordenadas como parabólicas, paraboloidales, elípticas, eferoidales alargadas y achatadas, bipolares, toroidales, cónicas, entre otras.
Las coordenadas rectangulares especifica un punto en el plano usando las distancias a los ejes coordenados como se muestra en la figura siguiente.
Las ecuaciones para convertir del sistema rectangular a sistema polar son las siguientes.
$r^2=x^2+y^2$
$tan \theta = \frac{y}{x}$
1.2. Coordenadas Polares
las coordenadas polares especifican un punto en el plano usando las distancias al origen y el ángulo que forma el vector desde el origen al punto en cuestión tal y como se muestra en la figura siguiente.
Las ecuaciones para convertir del sistema polar al sistema rectangular son las siguientes.
$x=r\cos\theta$
$y=r\sin\theta$
2. Coordenadas en 3D
2.1. Coordenadas Rectangulares
Este caso es la extensión del sistema rectangular en 2D agregando la profundidad en el eje $z$ como se muestra en la siguiente figura.
Para convertir coordenadas rectangulares en cilíndricas usamos las siguientes ecuaciones.
$r^2=x^2+y^2$
$tan \theta = \frac{y}{x}$
$z=z$
Para convertir coordenadas rectangulares en esféricas usamos las siguientes ecuaciones.
$r^2=x^2+y^2+z^2$
$\tan\phi=\frac{y}{x}$
$\cos\theta=\frac{z}{\sqrt{x^2+y^2+z^2}}$
2.2. Coordenadas Cilíndricas
Este caso es la extensión del sistema polar en 2D agregando la profundidad en el eje $z$ como se muestra en la siguiente figura.
Las ecuaciones para convertir de coordenadas cilíndricas a coordenadas rectangular son las siguientes.
$x=r\cos\theta$
$y=r\sin\theta$
$z=z$
2.3. Coordenadas Esféricas
Estas coordenadas se construye con base a los ángulos que se forman entre el vector posición (entre el origen y el punto) y los diferentes ejes coordenados y la longitud del vector tal y como se muestra en la siguiente figura.
Las ecuaciones para convertir de coordenadas esféricas a sistema rectangular son las siguientes.
Las funciones de dos variables son una extensión de las funciones de las funciones de una sola variable que se estudian en este post. Adicionalmente, las Funciones de dos variables y Superficies correspondientes son comúnmente utilizadas en una sin fin de aplicaciones practicas.
Las Funciones de dos variables y Superficies son análogas a las funciones de una sola variable y por lo tanto aplican los mismos conceptos como Dominio y Rango.
En este caso se puede representar la función de la siguiente manera:
$f(x,y)=z$
Donde $z$ es la función de las variables independientes $x$ y $y$ el dominio $D$ y el rango el conjunto de valores que puede tomar $f$ es decir ${f(x,y)|(x,y) \in D}$
2. Gráficas de Funciones de dos variables
Las gráficas de estas funciones pueden realizarse en $\mathbb R^3$ de tal manera que:
$z=f(x,y)$ y $(x,y) \in D$
Así como en el caso de una sola variable era muy conveniente tener la representación de la línea recta, en el caso de dos dimensiones es muy útil la extensión de este concepto para obtener funciones lineales que son planos en $\mathbb R^3$, la función lineal es la siguiente
$f(x,y)=ax+by+c$
Algunas gráficas importantes se muestran a continuación, así como las denominadas superficies cuadráticas que se obtiene de las diferentes combinaciones de las esfera.
2.1. Cilindro parabólico
Esta gráfica esta dada por la ecuación:
$f(x,y)=x^2$
2.2. Paraboloide elíptico
Esta gráfica de una superficie cuadrática esta dada por la ecuación:
$\frac{z}{c}=\frac{x^2}{a^2}+\frac{y^2}{b^2}$
2.3. Paraboloide hiperbólico
Esta gráfica de una superficie cuadrática esta dada por la ecuación:
$\frac{z}{c}=\frac{x^2}{a^2}-\frac{y^2}{b^2}$
2.4. Elipsoide
Esta gráfica de una superficie cuadrática esta dada por la ecuación:
La elaboración, diseño, construcción y fabricación de PCB también llamadas board o Tarjeta de Circuito Impreso es el paso final para culminar nuestros proyectos en electrónica. En este artículo se explica como realizar dicho proceso utilizando el software KidCad.
Este artículo utilizara un proyecto simple de un oscilador astable usando un 555 como ejemplo para el diseño de nuestro PCB.
Los software que se necesitaran para la Elaboración Diseño Construcción y Fabricación de PCB una nueva placa de circuito impreso son los siguientes:
KiCad: aquí se realiza todo el diseño del esquemático y se asocian las diferentes huellas, además también genera los diferentes archivos para enviar a fabricación. Se puede descargar aquí.
FreeRouting: por defecto las rutas en KiCad se deben realizar de forma manual, sin embargo este software nos ayudará a crear las rutas de forma automática y optimizadas. Se puede descargar aquí.
FreeCad: en caso de tener elementos o componentes que no posean modelos 3D podemos utilziar este software para construir los modelos y luego usarlos en KiCad. Se puede descargar aquí.
2. Primer paso – Creación del proyecto
El primer paso para diseñar un nuevo PBC o Tarjeta de Circuito Impreso es crear un nuevo proyecto. Este paso es bastante simple y solo requiere que se seleccione una carpeta y asignar un nombre mediante la opción “nuevo proyecto” en el menú.
3. Segundo paso – Creación del esquemático
El plano esquemático contiene las diferentes conexiones eléctricas entre los componentes de nuestro circuito. En la figura 1.2 se muestra el diagrama esquemático de nuestro circuito. Es importante considerar las siguientes recomendaciones cuando se diseña el circuito.
Si se utilizan buses para realizar las conexiones eléctricas, asegurese de usar entradas de cable que salen de los buses y se conectan con otras partes del circuito con cables normales, además de etiquetar cada cable de entrada al bus con una etiqueta de red.
Compruebe todas las conexiones usando la herramienta de resaltado de red que permitirá verificar las conexiones de forma apropiada de manera que no hayan puntos flotantes, también se puede realizar la comprobación con la herramienta “ejecutar reglas de conexión eléctrica”.
En la herramienta de configuración de página establezca valores adecuados que rellenaran el cajetín de la hoja del esquemático. Tenga en cuenta que se puede configurar su propio cajetín o agregar imágenes o logos que desee incluir a las librerías del proyecto y personalizar los diseños.
Tenga presente que si no encuentra un símbolo en las librerías predefinidas se puede descargar y agregar, la siguiente web contiene la mayoría de símbolos snapeda.
El paso siguiente será dar valor a cada componente y numerarlos, para ello podemos ir componente a componente y dando doble click establecer sus valores. Para la enumeración podemos usar la herramienta Anotar valores de símbolos lo cual numerará de forma automática los componentes. El resultado final del esquemático se muestra en la figura 1.3.
4. Tercer paso – Asociar los footprints y generar lista de redes
En la Elaboración Diseño Construcción y Fabricación de PCB el siguiente paso implica asignar los footprints a los diferentes componentes, en caso que no exista un footprint se puede buscar en la web o en su defecto diseñar el componente usando software como FreeCad.
Es muy recomendable que siempre se realice la verificación de cada footprint e incluso se verifique su modelo 3D con el cual se puede corroborar que se esta usando el footprint correcto.
Una vez hecho este paso, se puede realizar la exportación de la lista de redes lo cual es necesario para poder diseñar el circuito impreso y sus rutas, de hecho el software de auto ruteo necesita como entrada el archivo de lista de redes.
5. Generación del circuito impreso y sus rutas
El primer paso antes de continuar consiste en cargar las lista de redes en la herramienta PCBnew, esta operación cargará los footprint y el esquemático con lo cual se puede proceder a crear las rutas de forma manual o automática. Tenga en cuenta que se pueden crear vías para pasar entre diferentes capas de cobre.
La figura 5 muestra la carga inicial de las redes en la herramienta PCBnew de KiCad, si se desea continuar de forma manual se puede ubicar los componentes adecuadamente y posteriormente reemplazar las líneas que representan cables por pistas que unan los componentes de forma eléctrica.
Luego de ubicar y rotar los elementos correctamente a sus posiciones definitivas se puede continuar con el proceso de ruteo que a continuación se explica usando una herramienta automática.
Si se desea realizar un ruteo automático debemos cambiar de programa, abrir freerouting (el aplicativo java se encuentra en la carpeta de instalación) y luego debe seleccionar el archivo Specctra DSN exportado previamente de KiCad.
Algunos preparativos importantes incluyen:
Revisar los colores y capas en el menú utilities/display/colors
Revisar las reglas de ruteo en cuanto a los tamaños de las pistas en utilities/rules/net clases
Asignar reglas de rutas en utilities/rules/nets
Para iniciar el ruteo se puede seleccionar routing/autorouting. Se pueden modificar los parámetros de ruteo como clases a fin de volver a rutear hasta obtener un resultado valido.
La figura 6 muestra el resultado del auto ruteo en el caso de nuestro esquemático.
Como paso final se debe exportar el archivo de rutas a través del menú file/export/export specctra session file, este archivo se importa nuevamente en KiCad y con ello ya se tienen las rutas de forma automática. La figura 7 muestra el resultado de este autoruteo aplicado en KiCad que en este caso se realizó a doble capa.
6. Retoques finales al PCB
Teniendo las rutas en KiCad, se puede observar que algunas rutas que pueden ser mejoradas a mano puesto que han pasado muy cerca de otras pistas o pad o que dificultaran el proceso de soldado. Este paso se puede realizar manualmente o modificando las reglas de autoruteo, a continuación se muestra el resultado final con las pistas mejoradas manualmente.
El correspondiente resultado 3D se muestra en la figura 9.
7. Herramientas de optimización y detalles finales
Algunos puntos importantes a considerar para la realización de planos profesionales son los siguientes.
Incluir en la capa edge.cuts un polígono con el limite de la placa
Incluir pines de alimentación en la placa.
Incluir secciones o áreas de cobre para masas o alimentación.
Incluir tornillos de sujeción de la placa.
8. Generación de archivos para fabricación
Para la Elaboración Diseño Construcción y Fabricación de PCB, la la placa se puede realizar de dos formas diferentes la primera por serigrafia, imprimiendo la capa de rutas y realizando el proceso de impresión sobre placa cobre y luego aplicando acidos. Sin embargo, existe otro mecánismo mucho más simple enviando a fabricación externa en paginas como la de JLCPCB y otras muchas empresas que se encargan de fabricar PCB.
Para ello basta con seleccionar la herramienta plot seleccionar todas las capas y generar los archivos gerber, hay que tener en cuenta que en KiCad existe una opción adicional para generar el archivo de taladros necesarios para enviar a fabricación. Una vez generado los archivos, lo cual se recomienda generarlos en una carpeta aparte, se requerira comprimir en ZIP y seguir los pasos para subirlos y enviar a fabricación en la empresa seleccionada.
Para finalizar una recomendación final es que en cada paso existen multitud de opciones y herramientas que ayudaran a construir el diseño de forma detallada, algunas recomendadas son:
Incluir planos de masa o alimentación para mejorar interferencias EMI.
Incluir mounting holes.
Incluir arcos o bordes redondeados en los limites de la placa.
Estas páginas están especialmente pensadas para iniciarse en el mundo de las nubes de servicio y concretamente dar los Primeros Pasos con AWS, lo cual te permitirá tener un panorama general de que se requiere para crear una cuenta, activarla y dejarla lista para iniciar con la creación y administración de servicios de nube en Amazon.
Aunque existen multitud de documentación y de información, incluso certificaciones brindadas por el mismo AWS, estas páginas solo pretenden recopilar la información necesaria para que empieces a trabajar con la nube de forma confiable y sencilla.
Amazon Web Services o AWS es un conjunto de servicios de computación brindados como servicios en nube, bajo diferentes modelos de aprovisionamiento y de servicio como Software as a Services (SaaS), Platform as a Services (PaaS) o Infraestructure as a Service (IaaS) lo cual permite a empresas y personas de todo el mundo consumir servicios con la flexibilidad que ofrece la nube, en cuanto a pagos y consumos se refiere.
Estos servicios abarcan gran cantidad de soluciones y de hecho están en permanente evolución, agregando capacidades nuevas y mejorando las existentes. Ahora bien, quizás te estés preguntando cuales son esos servicios o capacidades, pues en general y de forma preliminar estas capacidades incluyen servicios de computación en nube, similar a máquinas virtuales, almacenamiento en nube, y una multitud de servicios especializados como pueden ser servicios de Internet de las Cosas (IoT), una gama de servicios en analítica e Inteligencia Artificial, soluciones de código, desarrollo de aplicaciones y hasta un Marketplace en el cual las principales herramientas informáticas a nivel mundial están disponibles.
2. Creando una cuenta en AWS
Para crear una cuenta basta con navegar al siguiente link y dar click en crear una cuenta AWS.
En este punto se recopilará información personal que debe ser proporcionada de forma verás y precisa, incluso se te preguntará por una tarjeta de crédito, sin embargo no se realizará ningún cobro hasta que comiences a usar los servicios. Es importante saber que AWS te obsequia el consumo de algunos servicios durante el primer año de la cuenta, a esto se le conoce como Free Tier, y es importante que lo tengas presente a la hora de crear servicios.
Una vez completado el registro, el primer servicio que debes usar sin lugar a dudas es IAM, este servicio al igual que todos, lo puedes encontrar en la barra de búsqueda superior de AWS.
IAM, permite gestionar la configuración de seguridad de tu cuenta, crear, usuarios roles y más. El usuario con el cual se creo la cuenta se llamará en adelante el usuario root, y al igual que los usuarios que crees para las personas que vayan a utilizar la cuenta de AWS se recomienda que tengan habilitado el segundo factor de autenticación, para ello puedes utilizar una aplicación en tu celular que permita generar tokens de autenticación como Authy o similar.
Para crear el segundo factor de autenticación para el usuario raíz (root) debes navegar el menú superior derecho en la opción Security Credential y estando autenticado como usuario raíz.
En el caso del segundo factor de autenticación para usuarios individuales lo debes hacer a través del servicio IAM seleccionando el usuario en cuestión y posteriormente Security Credentials, finalmente seguir los pasos en la sección MFA.
4. Facturación y advertencias
La facturación es un elemento muy importante para cualquier usuario, tanto para quienes se inician en la nube como para aquellos que tienen experiencia o servicios ejecutándose. En el menú superior derecho se encuentra la opción del panel de facturación que te muestra todos los detalles, aunque también se puede apreciar una información básica de costos en el momento de logearse.
El panel de facturación te mostrará información detallada de los consumos y te permitirá controlar los gastos. Es recomendable que configures la sección presupuestos y alertas que permitirán monitorear el consumo y el costo en caso que por error dejemos algún servicio que no deseemos encendido.
5. Servicios básicos de la nube
Finalmente, es conveniente hacer un recuento de algunos de los servicios más comunes y populares de AWS los cuales se exploraran en entradas posteriores de este blog.
EC2: Servicio de máquinas de computo virtualizadas con sofware base como sistema operativo o preconfigurada con software con productos de vendeodres reconocidos de ERP, CRM etc.
S3: Servicio de almacenamiento de objetos, persistente y con gran disponibilidad y durabiliad. Existen diferentes versiones del servicio que permiten diferentes niveles de acceso en terminos de tiempo y costo, util para manejar data fria o caliente.
Lambda: Servicio de funciones tipo serverless que permite ejecutar lógica en backend bajo demanda.
RDS: Servicio de base de datos relacionales, que inlcuye postgres, mariabd, mysql entre otros.
DynamoDB: Servicio de base de datos nativo de AWS NoSQL.
VPC: Servicio de Datacenter o Virtual Private Cloud que permite configurar la red y temas de conectividad especiales como conexiones VPN site to site.
Este artículo contiene una recopilación de principios y Comandos básicos en Docker que permitirán realizar las acciones más comunes de administración y gestión de contenedores, así mismo, crear, y manipular imágenes, contenedores y utilizar las fuentes oficiales para descargar imágenes preconfiguradas.
Docker es una popular aplicación para correr contenedores super livianos en nuestra máquina, en muchos sentidos se asemeja a una máquina virtual con la principal diferencia que en Docker los contenedores suelen ser muy livianos lo cual nos permite tener incluso varios corriendo simultaneamente.
Estas máquinas virtuales se crean a partir de imágenes que corresponden a sistemas operativos y comandos que permiten configurar el sistema operativo con las aplicaciones y paquetes que necesitaremos, por razones de desempeño y tamaño se suele utilizar Linux en alguna de sus distribuciones.
Otro aspecto importante es que Docker permite la configuración a nivel de detalle de los contenedores, en este sentido permite cambiar los tamaños de los discos, las configuraciones de la red e incluso monitorear las máquinas, además de que todo lo anterior se puede hacer con código habilitando el escalamiento vertical.
2. DockerFile
Si quieres descargar imágenes oficiales preconfiguradas de software popular puedes utilizar el siguiente enlace
Para crear tus propias imágenes puedes crear un archivo llamado Dockerfile con un contenido similar al del siguiente código. Observa que es necesario parámetros como -y, ya que no tendremos la posibilidad de interactuar con la consola.
FROM ubuntu
RUN apt install apache2 -y
Luego puedes construir la imagen usando el siguiente comando, estará disponible para crear contenedores como se indicará posteriormente. Observa que el directorio actual debe contener el archivo Dockerfile y además puedes personalizar el nombre de la imagen.
docker build --tag httpd-ubuntu .
Alternativamente, se puede descargar la imagen preconfigurada de un servidor http usando el siguiente comando. Link de la imagen httpd. Es importante anotar que las imágenes se pueden versiona y cuando descargamos una sin versión estaremos descargando la etiquetada como latest.
docker pull htttp
Un archivo Dockerfile completo tiene las siguiente secciones, cada uno de ellos comandos para acciones especificas, por ejemplo FROM especifica la imagen a usar y RUN ejecuta un comando, tal como se vio en el código anterior.
Comments
FROM
CMD
ENTRYPOINT
WORKDIR
ENV
COPY
LABEL
RUN
ADD
.dockerignore
ARG
EXPOSE
USER
VOLUME
3. Imágenes
Las imágenes de docker pueden ser descargadas desde las fuentes oficiales como se mostró anteriormente o construidas, en cualquier caso la manipulación de las mismas se realiza con los siguientes comandos.
Una vez contamos con imágenes descargadas las podemos poner a correr en contenedores o pequeñas máquinas virtuales que emulan nuestro software, el siguiente comando permite verificar los contenedores que están corriendo, algunas opciones como -a muestran todos los contenedores incluso los detenidos.
docker ps
Algunos otros comandos como los listados a continuación permiten: renombrar contenedores, detener un contenedor, iniciar un contenedor, reiniciar un contenedor, abrir una consola del contenedor, respectivamente.
docker rename old_name new_name
docker stop id
docker start id
docker restart id
docker exec -u root -ti container_name bash
Las imágenes se pueden poner a correr, con lo cual se crea un contenedor, usando un comando como el siguiente que especifica puertos y volúmenes, es decir el mapeo de puertos y volúmenes desde el contenedor hacia la máquina host. Las opciones completas del comando se encuentran aquí.