KUBERNETES03_命名空间、Pod是什么、Deployment多副本能力、扩缩容、自愈或故障转移、滚动更新、版本回退(一)

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
简介: KUBERNETES03_命名空间、Pod是什么、Deployment多副本能力、扩缩容、自愈或故障转移、滚动更新、版本回退(一)

①. 资源创建方式


  • ①. 命令行(比如创建一个命名空间为TANG:kubectl create ns TANG)



apiVersion: v1
kind: Namespace
metadata:
  name: TANG


②. 命名空间Namespace


①. Namespace:名称空间,用来对集群资源进行隔离划分。默认只隔离资源,不隔离网络


②. 关于Namespace中基本的命令


kubectl get ns:查看命名空间


kubectl create ns hello:创建命名空间


kubectl delete ns hello:删除命名空间


③. 使用yaml的文件创建命名空间(下面创建了hello的命名空间),hello.yaml

如果要删除命名空间:kubectl delete -f hello.yaml


apiVersion: v1
kind: Namespace
metadata:
  name: hello


④. 使用kubectl get pods:查看的是默认(default命名空间)下的内容


[root@k8s-master~]kubectl get pods
No resources found in default namespace


③. Pod


①. Pod的概念


  • ①. 运行中的一组容器,Pod是kubernetes中应用的最小单位


微信图片_20220109214559.png


②. 使用命令行的形式创建pod


①. 使用命令行的形式创建pod(如kubectl run mynginx–image=nginx)


②. kubectl run mynginx --image=nginx


③. 查看default名称空间的Pod:kubectl get pod


④. 描述:kubectl describe pod 你自己的Pod名字


⑤. 删除:kubectl delete pod Pod名字


⑥. 查看Pod的运行日志:kubectl logs Pod名字 h或者 kubectl logs -f Pod名字


⑦. 每个Pod - k8s都会分配一个ip:kubectl get pod -owide (-o wide)


⑧. 集群中的任意一个机器以及任意的应用都能通过Pod分配的ip来访问这个Pod,部署在pod中的应用,不能通过浏览器的方式进行访问


# 我们在master节点运行
[root@k8smaster ~]# kubectl run mynginx --image=nginx
pod/mynginx created
# 这里会将创建的pod默认在default命名空间下
[root@k8smaster ~]# kubectl get pod
NAME      READY   STATUS              RESTARTS   AGE
mynginx   0/1     ContainerCreating   0          14s
[root@k8smaster ~]# kubectl describe pod mynginx


微信图片_20220109214631.png


相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
7天前
|
Kubernetes 应用服务中间件 nginx
【赵渝强老师】K8s中的Deployment控制器
Kubernetes中的Deployment用于部署无状态应用程序,管理Pod的数量、更新方式和资源限制。通过创建和管理ReplicaSet,Deployment可以实现Pod的自动扩缩容、滚动更新和回滚。本文介绍了Deployment的基本概念,并通过一个具体的示例演示了如何使用Deployment创建、更新和管理Pod。
|
1月前
|
JSON 运维 Kubernetes
|
23天前
|
Kubernetes Linux 测试技术
|
7天前
|
存储 Kubernetes 调度
【赵渝强老师】K8s中Deployment控制器与StatefulSet控制器的区别
K8s中的Deployment控制器用于管理无状态应用程序,关注Pod数量、更新方式等;而StatefulSets控制器则管理有状态应用程序,提供持久存储和唯一标识符,适用于需要稳定网络标识符和持久化存储的场景。两者的主要区别在于是否维护状态和顺序。
|
1月前
|
Kubernetes Linux 开发工具
centos7通过kubeadm安装k8s 1.27.1版本
centos7通过kubeadm安装k8s 1.27.1版本
|
2月前
|
Kubernetes 负载均衡 前端开发
二进制部署Kubernetes 1.23.15版本高可用集群实战
使用二进制文件部署Kubernetes 1.23.15版本高可用集群的详细教程,涵盖了从环境准备到网络插件部署的完整流程。
98 2
二进制部署Kubernetes 1.23.15版本高可用集群实战
|
2月前
|
存储 Kubernetes Ubuntu
Ubuntu 22.04LTS版本二进制部署K8S 1.30+版本
这篇文章详细介绍了在Ubuntu 22.04 LTS系统上使用VMware Fusion虚拟化软件部署Kubernetes 1.30+版本的完整过程,包括环境准备、安装containerd、配置etcd、生成证书、部署高可用组件、启动Kubernetes核心组件以及网络插件的部署和故障排查。
144 4
|
3月前
|
Kubernetes 容器 Perl
在K8S中,Deployment⽀持扩容吗?它与HPA有什么区别?
在K8S中,Deployment⽀持扩容吗?它与HPA有什么区别?
|
3月前
|
存储 Kubernetes 网络协议
在K8S中,Deployment和Statefulset有何区别?
在K8S中,Deployment和Statefulset有何区别?
|
22天前
|
JSON Kubernetes 容灾
ACK One应用分发上线:高效管理多集群应用
ACK One应用分发上线,主要介绍了新能力的使用场景