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和服务以及配置副本来实现负载。