K8S基础操作知识总结Word文档下载推荐.docx

上传人:b****1 文档编号:777266 上传时间:2023-04-29 格式:DOCX 页数:21 大小:1.01MB
下载 相关 举报
K8S基础操作知识总结Word文档下载推荐.docx_第1页
第1页 / 共21页
K8S基础操作知识总结Word文档下载推荐.docx_第2页
第2页 / 共21页
K8S基础操作知识总结Word文档下载推荐.docx_第3页
第3页 / 共21页
K8S基础操作知识总结Word文档下载推荐.docx_第4页
第4页 / 共21页
K8S基础操作知识总结Word文档下载推荐.docx_第5页
第5页 / 共21页
K8S基础操作知识总结Word文档下载推荐.docx_第6页
第6页 / 共21页
K8S基础操作知识总结Word文档下载推荐.docx_第7页
第7页 / 共21页
K8S基础操作知识总结Word文档下载推荐.docx_第8页
第8页 / 共21页
K8S基础操作知识总结Word文档下载推荐.docx_第9页
第9页 / 共21页
K8S基础操作知识总结Word文档下载推荐.docx_第10页
第10页 / 共21页
K8S基础操作知识总结Word文档下载推荐.docx_第11页
第11页 / 共21页
K8S基础操作知识总结Word文档下载推荐.docx_第12页
第12页 / 共21页
K8S基础操作知识总结Word文档下载推荐.docx_第13页
第13页 / 共21页
K8S基础操作知识总结Word文档下载推荐.docx_第14页
第14页 / 共21页
K8S基础操作知识总结Word文档下载推荐.docx_第15页
第15页 / 共21页
K8S基础操作知识总结Word文档下载推荐.docx_第16页
第16页 / 共21页
K8S基础操作知识总结Word文档下载推荐.docx_第17页
第17页 / 共21页
K8S基础操作知识总结Word文档下载推荐.docx_第18页
第18页 / 共21页
K8S基础操作知识总结Word文档下载推荐.docx_第19页
第19页 / 共21页
K8S基础操作知识总结Word文档下载推荐.docx_第20页
第20页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

K8S基础操作知识总结Word文档下载推荐.docx

《K8S基础操作知识总结Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《K8S基础操作知识总结Word文档下载推荐.docx(21页珍藏版)》请在冰点文库上搜索。

K8S基础操作知识总结Word文档下载推荐.docx

//gettheyamlfilewith--dry-runflag

kubectlrunnginx--image=nginx--restart=Never--dry-run-oyaml>

nginx-pod.yaml

//catnginx-pod.yaml

apiVersion:

v1

kind:

Pod

metadata:

creationTimestamp:

null

labels:

run:

nginx

name:

spec:

containers:

-image:

resources:

{}

dnsPolicy:

ClusterFirst

restartPolicy:

Never

status:

//createapod

kubectlcreate-fnginx-pod.yaml

8.输出刚创建的Pod的yaml文件

kubectlgetpodnginx-oyaml

9.输出刚创建的Pod的yaml文件,并且其中不包含特定于集群的信息

kubectlgetpodnginx-oyaml--export

10.获取刚刚创建的Pod的完整详细信息

kubectldescribepodnginx

11.删除刚创建的Pod

kubectldeletepodnginx

kubectldelete-fnginx-pod.yaml

12.强制删除刚创建的Pod

kubectldeletepodnginx--grace-period=0--force

13.创建版本为1.17.4的NginxPod,并将其暴露在端口80上

kubectlrunnginx--image=nginx:

1.17.4--restart=Never--port=80

14.将刚创建的容器的镜像更改为1.15-alpine,并验证该镜像是否已更新

kubectlsetimagepod/nginxnginx=nginx:

1.15-alpine

kubectldescribeponginx

//anotherwayitwillopenvieditorandchangetheversion

kubeclteditponginx

15.对于刚刚更新的Pod,将镜像版本改回1.17.1,并观察变化

1.17.1

kubectlgetponginx-w#watchit

16.在不用describe命令的情况下检查镜像版本

kubectlgetponginx-ojsonpath='

{.spec.containers[].image}{"

\n"

}'

17.创建NginxPod并在Pod上执行简单的shell

//execintothepod

kubectlexec-itnginx/bin/sh

18.获取刚刚创建的Pod的IP地址

kubectlgetponginx-owide

19.创建一个busyboxPod,在创建它时运行命令ls并检查日志

kubectlrunbusybox--image=busybox--restart=Never--ls

kubectllogsbusybox

20.如果Pod崩溃了,请检查Pod的先前日志

kubectllogsbusybox-p

21.用命令sleep3600创建一个busyboxPod

kubectlrunbusybox--image=busybox--restart=Never--/bin/sh-c"

sleep3600"

22.检查busyboxPod中NginxPod的连接

//checktheconnection

kubectlexec-itbusybox--wget-o-<

IPAddress>

23.创建一个能回显消息“Howareyou”的busyboxPod,并手动将其删除

kubectlrunbusybox--image=nginx--restart=Never-it--echo"

Howareyou"

kubectldeletepobusybox

24.创建一个能回显消息“Howareyou”的busyboxPod,并立即将其删除

//noticethe--rmflag

kubectlrunbusybox--image=nginx--restart=Never-it--rm--echo"

25.创建一个NginxPod并列出具有不同复杂度(verbosity)的Pod

kubectlrunnginx--image=nginx--restart=Never--port=80

//Listthepodwithdifferentverbosity

kubectlgetponginx--v=7

kubectlgetponginx--v=8

kubectlgetponginx--v=9

26.使用自定义列PODNAME和PODSTATUS列出NginxPod

Kubectlgetpo-o=custom-columns="

POD_NAME:

.metadata.name,POD_STATUS:

.status.containerStatuses[].state"

27.列出所有按名称排序的Pod

kubectlgetpods--sort-by=.metadata.name

28.列出所有按创建时间排序的Pod

kubectlgetpods--sort-by=.metadata.creationTimestamp

多容器Pod

了解多容器Pod的设计模式(例如 

ambassador、adaptor、sidecar)。

29.用“ls;

sleep3600;

”“echoHelloWorld;

”及“echothisisthethirdcontainer;

sleep3600”三个命令创建一个包含三个busybox容器的Pod,并观察其状态

//firstcreatesinglecontainerpodwithdryrunflag

kubectlrunbusybox--image=busybox--restart=Never--dry-run-oyaml--bin/sh-c"

sleep3600;

ls"

>

multi-container.yaml

//editthepodtofollowingyamlandcreateit

kubectlcreate-fmulti-container.yaml

kubectlgetpobusybox

30.检查刚创建的每个容器的日志

kubectllogsbusybox-cbusybox1

kubectllogsbusybox-cbusybox2

kubectllogsbusybox-cbusybox3

31.检查第二个容器busybox2的先前日志(如果有)

kubectllogsbusybox-cbusybox2–previous

32.在上述容器的第三个容器busybox3中运行命令ls

kubectlexecbusybox-cbusybox3–ls

33.显示以上容器的metrics,将其放入file.log中并进行验证

kubectltoppodbusybox--containers

//puttingthemintofile

kubectltoppodbusybox--containers>

file.log

catfile.log

34.用主容器busybox创建一个Pod,并执行“whiletrue;

doecho‘HiIamfromMaincontainer’>

>

/var/log/index.html;

sleep5;

done”,并带有暴露在端口80上的Nginx镜像的sidecar容器。

用emptyDirVolume将该卷安装在/var/log路径(用于busybox)和/usr/share/nginx/html路径(用于nginx容器)。

验证两个容器都在运行。

//createaninitialyamlfilewiththis

kubectlrunmulti-cont-pod--image=busbox--restart=Never--dry-run-oyaml>

//edittheymlasbelowandcreateit

kubectlgetpomulti-cont-pod

35.进入两个容器并验证main.txt是否存在,并用curllocalhost从sidecar容器中查询main.txt

//execintomaincontainer

kubectlexec-itmulti-cont-pod-cmain-container--sh

cat/var/log/main.txt

//execintosidecarcontainer

kubectlexec-itmulti-cont-pod-csidecar-container--sh

cat/usr/share/nginx/html/index.html

//installcurlandgetdefaultpage

#apt-getupdate&

&

apt-getinstall-ycurl

#curllocalhost

Pod设计

了解如何使用Labels、Selectors和Annotations,了解部署以及如何执行滚动更新,了解部署以及如何执行回滚,了解Jobs和CronJobs。

36.获取带有标签信息的Pod

kubectlgetpods--show-labels

37.创建5个NginxPod,其中两个标签为env=prod,另外三个标签为env=dev

kubectlrunnginx-dev1--image=nginx--restart=Never--labels=env=dev

kubectlrunnginx-dev2--image=nginx--restart=Never--labels=env=dev

kubectlrunnginx-dev3--image=nginx--restart=Never--labels=env=dev

kubectlrunnginx-prod1--image=nginx--restart=Never--labels=env=prod

kubectlrunnginx-prod2--image=nginx--restart=Never--labels=env=prod

38.确认所有Pod都使用正确的标签创建

kubecltgetpods--show-labels

39.获得带有标签env=dev的Pod

kubectlgetpods-lenv=dev

40.获得带标签env=dev的Pod并输出标签

kubectlgetpods-lenv=dev--show-labels

41.获得带有标签env=prod的Pod

kubectlgetpods-lenv=prod

42.获得带标签env=prod的Pod并输出标签

kubectlgetpods-lenv=prod--show-labels

43.获取带有标签env的Pod

kubectlgetpods-Lenv

44.获得带标签env=dev、env=prod的Pod

kubectlgetpods-l'

envin(dev,prod)'

45.获取带有标签env=dev和env=prod的Pod并输出标签

--show-labels

46.将其中一个容器的标签更改为env=uat并列出所有要验证的容器

kubectllabelpod/nginx-dev3env=uat--overwrite

47.删除刚才创建的Pod标签,并确认所有标签均已删除

kubectllabelpodnginx-dev{1..3}env-

kubectllabelpodnginx-prod{1..2}env-

kubectlgetpo--show-labels

48.为所有Pod添加标签app=nginx并验证

kubectllabelpodnginx-dev{1..3}app=nginx

kubectllabelpodnginx-prod{1..2}app=nginx

49.获取所有带有标签的节点(如果使用minikube,则只会获得主节点)

kubectlgetnodes--show-labels

50.标记节点(如果正在使用,则为minikube)nodeName=nginxnode

kubectllabelnodeminikubenodeName=nginxnode

51.建一个标签为nodeName=nginxnode的Pod并将其部署在此节点上

pod.yaml

//addthenodeSelectorlikebelowandcreatethepod

kubectlcreate-fpod.yaml

52.使用节点选择器验证已调度的Pod

kubectldescribeponginx|grepNode-Selectors

53.验证我们刚刚创建的PodNginx 

是否具有nodeName=nginxnode这个标签

kubectldescribeponginx|grepLabels

54.用name=webapp注释Pod

kubectlannotatepodnginx-dev{1..3}name=webapp

kubectlannotatepodnginx-prod{1..2}name=webapp

55.验证已正确注释的Pod

kubectldescribeponginx-dev{1..3}|grep-iannotations

kubectldescribeponginx-prod{1..2}|grep-iannotations

56.删除Pod上的注释并验证

kubectlannotatepodnginx-dev{1..3}name-

kubectlannotatepodnginx-prod{1..2}name-

57.删除到目前为止我们创建的所有Pod

kubectldeletepo–all

58.创建一个名为webapp的Deployment,它带有5个副本的镜像Nginx

kubectlcreatedeploywebapp--image=nginx--dry-run-oyaml>

webapp.yaml

//changethereplicasto5intheyamlandcreateit

kubectlcreate-fwebapp.yaml

59.用标签获取我们刚刚创建的Deployment

kubectlgetdeploywebapp--show-labels

60.导出该Deployment的yaml文件

kubectlgetdeploywebapp-oyaml

61.获取该Deployment的Pod

//getthelabelofthedeployment

kubectlgetdeploy--show-labels

//getthepodswiththatlabel

kubectlgetpods-lapp=webapp

62.将该Deployment从5个副本扩展到20个副本并验证

kubectlscaledeploywebapp--replicas=20

kubectlgetpo-lapp=webapp

63.获取该Deployment的rollout状态

kubectlrolloutstatusdeploywebapp

64.获取使用该Deployment创建的副本集

kubectlgetrs-lapp=webapp

65.获取该Deployment的副本集和Pod的yaml

kubectlgetrs-lapp=webapp-oyaml

kubectlgetpo-lapp=webapp-oyaml

66.删除刚创建的Deployment,并查看所有Pod是否已被删除

kubectldeletedeploywebapp

kubectlgetpo-lapp=webapp–w

67.使用镜像nginx:

1.17.1和容器端口80创建webappDeployment,并验证镜像版本

kubectlcreatedeploywebapp--image=nginx:

1.17.1--dry-run-oyaml>

//addtheportsectionandcreatethedeployment

//verify

kubectldescribedeploywebapp|grepImage

68.使用镜像版本1.17.4更新Deployment并验证

kubectlsetimagedeploy/webappnginx=nginx:

1.17.4

69.检查rollout历史记录,并确保更新后一切正常

kubectlrollouthistorydeploywebapp

70.撤消之前使用版本1.17.1的Deployment,并验证镜像是否还有老版本

kubectlrolloutundodeploywebapp

71.使用镜像版本1.16.1更新Deployment,并验证镜像、检查rollout历史记录

1.16.1

72.将Deployment更新到镜像1.17.1并确认一切正常

kubectlrolloutundodeployweb

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2