1、相关组件介绍:  
 
node是k8s的集群节点,和实际的机器对应 
pod是应用容器,不同的应用部署在不同的pod中,k8s协调资源,将pod部署到集群中的node节点上(非master节点)。 
同时pod又是挂在namespace下面的,命名空间之间互相隔离。 
pause 管理多个应用容器:搭建k8s集群的时候有一个镜像名字就是 registry.k8s.io/pause:3.9 
label 大规模管理pod 
volume: 挂载应用数据,应用产生的数据(如日志)和应用配置数据(如configMap) 
deployment : 应用部署管理:rs副本管理  
service/ingress: 应用访问,对外开放tcp、http、https 
flannel: 节点间的网络访问的解决方案。我们部署时采用的这个,也有其他的 
  
2、常用操作指令  
 
kubectl -h 查看命令信息: 
 
  
具体命令的使用和参数也可以使用 kubectl 命令 -h 查看 
2.1 get 查看  
 
kubectl get -h 
查看资源:get  
查看node: 
kubectl get nodes 
查看命名空间: 
kubectl get ns 
查看pod: 
kubectl get pods -A 查看所有命名空间的pod 
kubectl get pods -n 命名空间 查看指定命名空间的pod 
kubectl get pods -n kube-system 查看kube-system命名空间的pod 
  
2.2、创建pod的方式  
 
1.命令模式 run  
kubectl run -h` 查看命令使用 
kubectl run NAME --image=image [--env="key=value"] [--port=port] [--dry-run=server|client] [--overrides=inline-json] 
[--command] -- [COMMAND] [args...] [options] 
我们使用之前自己做的那个nginx镜像来创建一个nginx。 
kubectl run my-nginx --image=k8s-harbor.taoyao.com/nijunyang/my-nginx:1.29.1 
 
kubectl describe pod my-nginx 查看my-nginx 详细信息 
kubectl logs my-nginx 查看my-nginx 日志 
kubectl exec -it my-nginx -- bin/bash 进入容器内部进行交互操作 进入容器之后curl localhost 可以看到nginx的页面内容 exit 退出容器内部交互 
kubectl get pods 不指定命名空间,默认使用是default 
kubectl get pods -o wide 输出一些扩展信息 
 
  
这里有个ip,这个ip就是这个pod在k8s中的ip,去到k8s的其他节点都能访问:curl 10.244.1.2 
 
  
2.yaml资源清单方式  
  
kubectl get pod my-nginx -o yaml 以yaml方式查看资源信息,,这个是一个实际的状态而k8s就是负责资源预期状态到实际状态。 
kubectl run my-nginx --image=k8s-harbor.taoyao.com/nijunyang/my-nginx:1.29.1 --dry-run=client -o yaml 获取这个资源创建的预期状态,--dry-run 不会实际执行。 
  
 
  
kind: Pod:说明这个 YAML 文件定义的是一个 Pod 资源 
kubectl run my-nginx --image=k8s-harbor.taoyao.com/nijunyang/my-nginx:1.29.1 --dry-run=client -o yaml > nginx.yaml 把内容写到资源清单文件中去,用这个文件来创建资源 
kubectl apply -f nginx.yaml 以资源清单方式创建资源 
  
2.3 deployment 应用部署管理器  
 
deployment 应用部署管理器,让应用向预期状态靠近,比如 RS 副本管理,pod数量少了,就会自动帮你启动到设置数量。 
创建 deployment  
命令方式 :kubectl create deployment 
kubectl create deployment NAME --image=image -- [COMMAND] [args...] [options] 
kubectl create deployment my-nginx-deploment --image=k8s-harbor.taoyao.com/nijunyang/my-nginx:1.29.1 
 
  
  
  
pod和deployment 还有rs 都创建好了 
名字也有层级关系:deployment名字-RS名字-pod名字 
资源清单方式:  
kubectl create deployment my-nginx-deploment --image=k8s-harbor.taoyao.com/nijunyang/my-nginx:1.29.1 --dry-run=client -o yaml > my-nginx-deploment.yaml 把内容写到资源清单文件中去,用这个文件来创建资源 
 
  
 replicas 副本数改成2 
kubectl apply -f my-nginx-deploment.yaml 
直接就启动了两个pod 
 
  
2.4 资源对象扩缩容:  
 
edit:直接在现有的资源上修改属性  
scale:直接动态调整数量 
kubectl edit deployments.apps my-nginx-deploment 和vim操作一样 i 编辑模式 :wq 退出保存 
  
 
  
修改为三个,保存之后k8s自动给我们调整为了三个 
 
  
kubectl scale [--resource-version=version] [--current-replicas=count] --replicas=COUNT (-f FILENAME | TYPE NAME) 
[options] 
  
kubectl scale deployment my-nginx-deploment --replicas 5   设置为5个 
  
 
  
 基本也就差不多了,其他资源的创建方式也差不多,命令和yaml文件清单,推荐用文件方式。多使用帮助信息看看,再加上问AI,就差不多了 
  
  
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除 
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! 
            
        
 
  
  
        
        
        
        
        
        
 
 
 
 
 
 
  相关推荐