kubernetes基本概念操作命令

网友投稿 776 2022-05-29

一、几个概念:

Kubernetes/pod/docker/container

1.K8S,就是基于容器的集群管理平台,它的全称,是kubernetes

2.Docker本身并不是容器,它是创建容器的工具,是应用容器引擎。

3.pod是k8s中的最小部署单元,不是一个程序/进程,而是一个环境

4.一个pod可以运行1个或多个container

kubernetes中的DaemonSet等概念

DaemonSet DaemonSet  确保全部(或者某些)节点上运行一个 Pod 的副本。当有节点加入集群时, 也会为他们新增一个 Pod 。 当有节点从集群移除时,这些 Pod 也会被回收。删除 DaemonSet 将会删除它创建的所有 Pod。 Volume Volume是Kubernetes Pod中多个容器访问的共享目录。 hostPath hostPath 卷能将主机节点文件系统上的文件或目录挂载到您的 Pod 中 emptyDir emptyDir类型的Volume在Pod分配到Node上时被创建,Kubernetes会在Node上自动分配一个目录,因此无需指定宿主机Node上对应的目录文件。 这个目录的初始内容为空,当Pod从Node上移除时,emptyDir中的数据会被永久删除。

Pod状态

Pod 的 status 定义在 PodStatus 对象中,其中有一个 phase 字段。

Pod 的运行阶段(phase)是 Pod 在其生命周期中的简单宏观概述。该阶段并不是对容器或 Pod 的综合汇总,也不是为了做为综合状态机。

Pod 相位的数量和含义是严格指定的。除了本文档中列举的内容外,不应该再假定 Pod 有其他的 phase 值。

下面是 phase 可能的值:

挂起(Pending):Pod 已被 Kubernetes 系统接受,但有一个或者多个容器镜像尚未创建。等待时间包括调度 Pod 的时间和通过网络下载镜像的时间,这可能需要花点时间。

运行中(Running):该 Pod 已经绑定到了一个节点上,Pod 中所有的容器都已被创建。至少有一个容器正在运行,或者正处于启动或重启状态。

kubernetes基本概念及操作命令

成功(Succeeded):Pod 中的所有容器都被成功终止,并且不会再重启。

失败(Failed):Pod 中的所有容器都已终止了,并且至少有一个容器是因为失败终止。也就是说,容器以非0状态退出或者被系统终止。

未知(Unknown):因为某些原因无法取得 Pod 的状态,通常是因为与 Pod 所在主机通信失败。

二、操作命令

分两类:docker 命令和kubectl命令

docker 命令(管理容器,操作集群中单个节点上的资源)

查看运行中的容器

docker ps

进入运行中的容器

docker exec -it /bin/bash

查看镜像列表

docker image ls

删除镜像

docker image rm option[--force]

运行指定镜像

docker run -it /bin/bash

停止运行container

docker container kill

镜像制作

docker build -t : -f .  注意最后有一个点

推送到华为云服务“云容器镜像服务“”

登录镜像服务器(这个在云容器镜像服务,点击登录指令会自动生成)

docker login -u *** -p *** swr.cn-north-5.myhuaweicloud.com

给镜像打tag

sudo docker tag spark:20200110 swr.cn-north-5.myhuaweicloud.com/sparkonk8s/spark:20200110

推送镜像到服务器

sudo docker push swr.cn-north-5.myhuaweicloud.com/sparkonk8s/spark:20200110

大概规律就是:docker <资源类型> <操作类型> <实例Id>

kubectl命令(管理集群,操作整个集群中资源)

下列命令在华为云服务“云容器引擎”中操作样例

1.操作pod

查看pod列表:kubectl get pods opiton[--namespace=]

删除pod:kubectl delete pod

查看pod日志:kubectl logs

查看pod详情:kubect describe pod

查看单个pod:kubect get pod option[--output=yaml]

指定yaml创建pod:kubectl create -f

或者 kubectl apply -f ,可以修改模板文件,重新apply来做升级

2.操作damonset

查看daemonset列表:kubectl get daemonsets opiton[--namespace=]

删除damonset:kubectl delete daemonset

指定yaml文件运行damonset:kubectl create -f

或者 kubectl apply -f ,可以修改模板文件,重新apply来做升级

3.操作节点

查看节点:kubectl get nodes option[--show-labels] option[--output=wide]

给节点打标签:kubectl label nodes disktype=ssd

优雅的结束节点上的所有 pod 并同时标记节点为不可调度:kubectl drain

重新使节点可调度:kubectl uncordon  

4.serviceaccount

创建serviceaccount:kubectl create serviceaccount

查看serviceaccount:kubectl get serviceaccounts

5.角色绑定

创建角色绑定:

kubectl create clusterrolebinding  --clusterrole= --serviceaccount=:

删除角色绑定:kubectl delete clusterrolebinding

大概规律就是:kubectl  <操作类型> <资源类型> <实例Id>

容器镜像服务 SWR Kubernetes

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Ubuntu18.04系统下全程图解安装VMware Tools的方法
下一篇:Python进阶之路(本篇文章整理自【HDZ研习社】《学Python不走弯路,工程师速成路线》)
相关文章