/etc/hosts
y lo que no, a googleminikube version
minikube start
kubectl cluster-info
kubectl get nodes
kubectl run first-deployment –image=katacoda/docker-http-server –port=80
→ kubectl create
kubectl expose deployment first-deployment –port=80 –type=NodePort
kubectl describe deployments
export PORT=$(kubectl get svc first-deployment -o go-template='range.spec.portsif_.nodeportnodeportnendend'); echo «Accessing host01:$PORT»; curl host01:$PORT
kubeadm init –token=102952.1a7dd4cc8d1f4cc5 –kubernetes-version $(kubeadm version -o short)
← en producción no pasar el token para se generesudo cp /etc/kubernetes/admin.conf $HOME/; sudo chown $(id -u):$(id -g) $HOME/admin.conf; export KUBECONFIG=$HOME/admin.conf
: copia certificados y configuración en el $HOME del usuario en curso para su usokubeadm token list
kubeadm join –discovery-token-unsafe-skip-ca-verification –token=102952.1a7dd4cc8d1f4cc5 172.17.0.44:6443
kubectl get nodes
(on master)kubectl apply -f /opt/weave-kube
: deploy del WeaveWorkskubectl get pod -n kube-system
kubectl create deployment http –image=katacoda/docker-http-server:latest
kubectl get pods
docker ps | grep docker-http-server
(on node)kubectl apply -f dashboard.yaml
kubectl get pods -n kube-system
cat <<EOF | kubectl create -f - apiVersion: v1 kind: ServiceAccount metadata: name: admin-user namespace: kube-system --- apiVersion: rbac.authorization.k8s.io/v1beta1 kind: ClusterRoleBinding metadata: name: admin-user roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: cluster-admin subjects: - kind: ServiceAccount name: admin-user namespace: kube-system EOF
kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep admin-user | awk «{print $1}»)
kubeadm token list
minikube start
kubectl get nodes
kubectl run http –image=katacoda/docker-http-server:latest –replicas=1
kubectl get deployments
kubectl describe deployment http
kubectl expose deployment http –external-ip=«172.17.0.28» –port=8000 –target-port=80
kubectl run httpexposed –image=katacoda/docker-http-server:latest –replicas=1 –port=80 –hostport=8001
→ expone el puerto a nivel de Docker, por lo tanto no se muestra así: kubectl get svc
, si no, así: docker ps | grep httpexposed
kubectl scale –replicas=3 deployment http
kubectl get pods
: lista de pods en ejecuciónkubectl describe svc http
: muestra, entre otras cosas, los endpointsapiVersion: extensions/v1beta1 kind: Deployment metadata: name: webapp1 spec: replicas: 1 template: metadata: labels: app: webapp1 spec: containers: - name: webapp1 image: katacoda/docker-http-server:latest ports: - containerPort: 80
kubectl create -f deployment.yaml
kubectl get deployment
: muestra todos los deployskubectl describe deployment webapp1
: descripción de un deploy concretoapiVersion: v1 kind: Service metadata: name: webapp1-svc labels: app: webapp1 spec: type: NodePort ports: - port: 80 nodePort: 30080 selector: app: webapp1
kubectl create -f service.yaml
kubectl get svc
kubectl describe svc webapp1-svc
kubectl apply -f deployment.yaml
kubectl get deployment
, kubectl get pods
kubectl create -f redis-master-controller.yaml
apiVersion: v1 kind: ReplicationController metadata: name: redis-master labels: name: redis-master spec: replicas: 1 selector: name: redis-master template: metadata: labels: name: redis-master spec: containers: - name: master image: redis:3.0.7-alpine ports: - containerPort: 6379
kubectl create -f redis-master-service.yaml
apiVersion: v1 kind: Service metadata: name: redis-master labels: name: redis-master spec: ports: # the port that this service should serve on - port: 6379 targetPort: 6379 selector: name: redis-master
kubectl get services
kubectl describe services redis-master
kubectl create -f redis-slave-controller.yaml
apiVersion: v1 kind: ReplicationController metadata: name: redis-slave labels: name: redis-slave spec: replicas: 2 selector: name: redis-slave template: metadata: labels: name: redis-slave spec: containers: - name: worker image: gcr.io/google_samples/gb-redisslave:v1 env: - name: GET_HOSTS_FROM value: dns # If your cluster config does not include a dns service, then to # instead access an environment variable to find the master # service's host, comment out the 'value: dns' line above, and # uncomment the line below. # value: env ports: - containerPort: 6379
kubectl get rc
kubectl create -f redis-slave-service.yaml
apiVersion: v1 kind: Service metadata: name: redis-slave labels: name: redis-slave spec: ports: # the port that this service should serve on - port: 6379 selector: name: redis-slave
kubectl get services
kubectl create -f frontend-controller.yaml
apiVersion: v1 kind: ReplicationController metadata: name: frontend labels: name: frontend spec: replicas: 3 selector: name: frontend template: metadata: labels: name: frontend spec: containers: - name: php-redis image: gcr.io/google_samples/gb-frontend:v3 env: - name: GET_HOSTS_FROM value: dns # If your cluster config does not include a dns service, then to # instead access environment variables to find service host # info, comment out the 'value: dns' line above, and uncomment the # line below. # value: env ports: - containerPort: 80
kubectl get rc
kubectl get pods
kubectl create -f frontend-service.yaml
apiVersion: v1 kind: Service metadata: name: frontend labels: name: frontend spec: # if your cluster supports it, uncomment the following to automatically create # an external load-balanced IP for the frontend service. # type: LoadBalancer type: NodePort ports: # the port that this service should serve on - port: 80 nodePort: 30080 selector: name: frontend
kubectl get services
kubectl get services
kubectl describe service frontend | grep NodePort