基本结构
K8s Node: K8S运行在MacOSX上的Docker Container(Mac版)中,容器名称是: minikube -> K8s Pods: pod名称是: tomcat-7d987c7694-j9dcp -> K8s Container(tomcat): 运行在”容器minikube“中的Linux操作系统上的Docker Container(Linux版)中,名称是: tomcat
主要说明
由维护人员手动, 在MacOSX上, 安装Docker版本1, 用作K8S的Master Node; 由Minikube自动, 在Docker1中的Linux上, 安装Docker 版本2, 用作K8S的Pod中的Container;
安装过程
安装Docker
Install Docker, Start Docker Install cri-docker docker search tomcat
安装K8S
##安装minikube
brew install minikube
which minikube
启动/停止Node
minikube start --driver=docker
minikube stop
创建资源
kubectl create deployment tomcat --image=tomcat
kubectl get deployments.apps -o wide
kubectl get rs -o wide
kubectl describe deployment tomcat
kubectl get pods -o wide
创建服务
kubectl expose deployment tomcat --port=8080 --type=NodePort
kubectl get svc -o wide
修改应用
#在POD(tomcat-7d987c7694-j9dcp)中的container(tomcat)中,将webapps.dist中的应用拷贝到webapps中
kubectl get pods -o wide
kubectl exec -it tomcat-7d987c7694-j9dcp -c tomcat \
-- rm -rf /usr/local/tomcat/webapps
kubectl exec -it tomcat-7d987c7694-j9dcp -c tomcat \
-- mv /usr/local/tomcat/webapps.dist /usr/local/tomcat/webapps
等待5秒后,访问应用
minikube service --url tomcat
在浏览器中的地址栏中,输入显示的URL;或者:minikube service tomcat
进入Minikube管理界面
minikube dashboard
其它命令
- 进入Minikube虚拟机
minikube ssh
#进入POD(tomcat-7d987c7694-j9dcp)中的container(tomcat)中
kubectl exec -it tomcat-7d987c7694-j9dcp -c tomcat -- /bin/bash
- 查看某个pod的描述
kubectl get pods -o wide
kubectl describe pods tomcat-7d987c7694-j9dcp
- 查看pod下所有的容器
kubectl get pods -o wide
kubectl get pods tomcat-7d987c7694-j9dcp \
-o jsonpath='{.spec.containers[*].name}
{.status.containerStatuses[*].restartCount}
{.status.containerStatuses[*].state}'
- 创建并运行资源Resource
kubectl run tomcat --image=tomcat --port=8080
--kubectl delete pod tomcat
- 查看container日志
kubectl logs tomcat-7d987c7694-j9dcp -c tomcat
kubectl cluster-info