Nodes 节点
https://kubernetes.io/docs/co...
节点上的组件包括 kubelet、 容器运行时container runtime (like Docker)以及 kube-proxy
# 查看节点
kubectl get node
# 查看节点状态和其他信息
kubectl describe node <insert-node-name-here>
Pods
k8s中创建和管理的、最小的可部署的计算单元
K8S 通过编排 Pod 来调度容器,而不是直接操作容器,K8S 无法直接操纵容器
kubectl get pods
# 指定命令空间下的pod
kubectl get pods -n kube-system
# 会显示所有命名空间下的pods
kubectl get pods --all-namespaces
# 当前命名空间下的pod 会补充一些额外的信息
kubectl get pods -o wide
kubectl get deployment xxx
# 查看pod相关事件列表
kubectl describe pod xxx
# 删除pod
kubectl delete pod xxx
# 输出node容器中的日志
kubectl logs $POD_NAME
# 在pod外执行容器命令 例如这里执行 env 命令
# exec的用户基本等同docker
kubectl exec $POD_NAME -- env
kubectl exec -ti $POD_NAME -- bash
Workloads
在 Kubernetes 上运行的应用程序,是一组相关pods的集合。
Deployment
一种控制器,可以用来创建、管理 Pod。如创建多副本 Pod,滚动更新 Pod
一般在yaml文件中 使用 kind: Deployment来创建 Pod
ReplicaSet
ReplicaSet 的目的是维护一组在任何时候都处于运行状态的 Pod 副本的稳定集合。 因此,它通常用来保证给定数量的、完全相同的 Pod 的可用性
# 查看创建的ReplicaSet(副本数)
kubectl get rs
# 扩容到4个副本
# xxx 对应 deployment name
kubectl scale deployments/xxx --replicas=4
Service
将运行在一组 Pods 上的应用程序公开为网络服务的抽象方法
通过labels和selectors匹配pod
# 创建一个service并且expose 类型是NodePort
kubectl expose deployment/kubernetes-bootcamp --type="NodePort" --port 8080
# 显示service详细信息 以下两个命令等同
kubectl describe services/kubernetes-bootcamp
kubectl describe services kubernetes-bootcamp
$ kubectl get deployments
NAME READY UP-TO-DATE AVAILABLE AGE
kubernetes-bootcamp 1/1 1 1 50s
READY shows the ratio of CURRENT/DESIRED replicas
AGE displays the amount of time that the application has been running.
一些命令
# 返回的client version是kubectl版本 Server version是k8s版本
kubectl version
# 显示运行中的Pod、Service、Deployment以及ReplicaSet的关键信息
kubectl get all
# 端口暴露
kubectl port-forward nginx 8080:80 --address=0.0.0.0
kubectl 查看和查找资源
https://kubernetes.io/docs/re...
minikube 相关
minikube start
minikube stop
minikube delete --all
minikube dashboard
# 添加代理 (外网访问使用)
kubectl proxy --address='0.0.0.0' --accept-hosts='^.*'
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。