Kubernetes入门

Kubernetes作为当前唯一被广泛认可和看好的Docker分布式解决方案

根据官网学习

Learn Kubernetes Basics - Kubernetes

进入官网点击下面两个进行入门demo不得不说做的好因为不需要自己安装机器~~直接网页操作


操作minikube

为了使用时与Kubernetes交互,我们将使用命令行接口kubectl。

部署应用

kubectl run kubernetes-bootcamp --image=docker.io/jocatalin/kubernetes-bootcamp:v1 --port=8080            


在Kubernetes内部运行在一个专用的、孤立的网络上。素以可以通过代理来访问。

需要将POD_NAME与接口绑定起来


可以使用Description命令获取大多数Kubernetes的详细信息


查看日志



在容器上执行命令


使用exec命令并使用Pod的名称作为参数。让我们列出环境变量

kubectl exec $POD_NAME env

在Pod的容器中启动bash会话

kubectl exec -ti $POD_NAME bash

运行nodejs应用程序。应用程序的源代码在server.js中:

cat server.js


最后退出

exit

Create a new service

创建一个新的服务

kubectl expose deployment/kubernetes-bootcamp --type="NodePort" --port 8080


创建一个名为Node_Port的环境变量,该变量的节点端口值为:

export NODE_PORT=$(kubectl get services/kubernetes-bootcamp -o go-template='{{(index .spec.ports 0).nodePort}}')

echo NODE_PORT=$NODE_PORT

访问地址curl $(minikube ip):$NODE_PORT得到的结果一样

查看容器服务信息


获取Pod的名称并将其存储在POD_NAME环境变量中:

export POD_NAME=$(kubectl get pods -o go-template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}')

echo Name of the Pod: $POD_NAME

给Pod赋值新的lable

kubectl label pod $POD_NAME app=v1

kubectl describe pods $POD_NAME

kubectl get pods -l app=v1


删除服务

kubectl delete service -l run=kubernetes-bootcamp

kubectl get services


扩展部署

很神奇  直接复制4个模板就可以了

kubectl scale deployments/kubernetes-bootcamp --replicas=4



负载均衡可以看到刚刚的4个服务

连续访问可以看到访问了4个节点

重点来了

只要配置几个副本就可以得到几个几个负载

kubectl scale deployments/kubernetes-bootcamp --replicas=2

kubectl get deployments

kubectl get pods -o wide


到此基本操作结束,算是有了一个大概的了解

总结

创捷pod和服务以及配置副本来实现负载。

你可能感兴趣的:(Kubernetes入门)