本文同步gitlab 更新 https://github.com/lifalin0802/falin_repos/blob/master/kubernetes_manual.md

创建自主pod

kubectl run d1 --image httpd:alpine --port 80
pod/d1 createdkubectl get deployments #没有东西
kubectl get pods #有了
kubectl get pods -o wide #有了kubectl describe pod d1 #查看描述
kubectl delete pod d1 #删除pod

创建deployment

kubectl create environment dev #创建名字为dev 的namespace
kubectl create deployment httpd --image httpd:alpine --port 80 -n dev #c创建deployment
kubectl get deployments -n dev
kubectl get deployment -n dev #单复数都可以

这里删除 kubectl delete pod d1只对自主pod work
run命令也只是启动一个自主的pod,

要点解释:

  1. kubectl create deployment XX 正常创建deployment ,默认会创建一个pod+两个docker容器, 一个docker是httpd本身,另一个是pause 这个容器。
  2. pause容器干啥的?
    相当于infor 容器, 用于共享网络存储
  3. pod可以不属于任何namespace,可以没有namespace的概念。
[root@centos ~]# kubectl run d1 --image httpd:alpine --port 80
pod/d1 created[root@centos ~]# kubectl get ns
NAME              STATUS   AGE
default           Active   41h
kube-node-lease   Active   41h
kube-public       Active   41h
kube-system       Active   41h[root@centos ~]# kubectl get pods
NAME              READY   STATUS    RESTARTS   AGE
d1                1/1     Running   0          70m
nginx-pod-b2796   1/1     Running   0          16h
nginx-pod-g84mg   1/1     Running   0          16h
nginx-pod-mfkv9   1/1     Running   0          16h
[root@centos ~]# kubectl get pods -o wide
NAME              READY   STATUS    RESTARTS   AGE   IP           NODE     NOMINATED NODE   READINESS GATES
d1                1/1     Running   0          98m   172.17.0.7   centos   <none>           <none>
nginx-pod-b2796   1/1     Running   0          16h   172.17.0.6   centos   <none>           <none>
nginx-pod-g84mg   1/1     Running   0          16h   172.17.0.4   centos   <none>           <none>
nginx-pod-mfkv9   1/1     Running   0          16h   172.17.0.5   centos   <none>           <none>[root@centos ~]# kubectl delete pod d1
pod "d1" deleted
[root@centos ~]# kubectl get pods
NAME              READY   STATUS    RESTARTS   AGE
nginx-pod-b2796   1/1     Running   0          19h
nginx-pod-g84mg   1/1     Running   0          19h
nginx-pod-mfkv9   1/1     Running   0          19h[root@centos ~]# kubectl create namespace dev
namespace/dev created
[root@centos ~]# kubectl create deployment httpd --image httpd:alpine --port 80 -n dev
deployment.apps/httpd created
[root@centos ~]# kubectl get deployment
No resources found in default namespace.
[root@centos ~]# kubectl get deployments
No resources found in default namespace.
[root@centos ~]# kubectl get deployments -n dev
NAME    READY   UP-TO-DATE   AVAILABLE   AGE
httpd   1/1     1            1           15m
[root@centos ~]# kubectl get deployment -n dev
NAME    READY   UP-TO-DATE   AVAILABLE   AGE
httpd   1/1     1            1           15m

查看docker

由deployment创建的:

[root@centos ~]# docker ps|grep httpd
7f0d6dbbee25   5c2ee73209da           "httpd-foreground"       15 minutes ago   Up 15 minutes                                               k8s_httpd_httpd-76f7455774-2vln2_dev_e0e8e85b-149a-4220-9817-26205137f762_0
f4033c816a79   k8s.gcr.io/pause:3.6   "/pause"                 15 minutes ago   Up 15 minutes                                               k8s_POD_httpd-76f7455774-2vln2_dev_e0e8e85b-149a-4220-9817-26205137f762_0
[root@centos ~]# kubectl get pod -n dev
NAME                     READY   STATUS    RESTARTS   AGE
httpd-76f7455774-2vln2   1/1     Running   0          16m
[root@centos ~]#
[root@centos ~]# docker stop 7f
7f
[root@centos ~]# docker ps |grep httpd
1b2ebeb00111   5c2ee73209da           "httpd-foreground"       14 seconds ago      Up 13 seconds                                                  k8s_httpd_httpd-76f7455774-2vln2_dev_e0e8e85b-149a-4220-9817-26205137f762_1
f4033c816a79   k8s.gcr.io/pause:3.6   "/pause"                 About an hour ago   Up About an hour                                               k8s_POD_httpd-76f7455774-2vln2_dev_e0e8e85b-149a-4220-9817-26205137f762_0
[root@centos ~]#

默认pod namespace 是 <none>

查看deployment

若改成replica副本数量是2, 则启动
4个docker

[root@centos ~]# docker ps | grep httpd
93d9558ff466   5c2ee73209da           "httpd-foreground"       12 seconds ago      Up 11 seconds                                                  k8s_httpd_httpd-76f7455774-v45fb_dev_be9d0c08-6330-42b9-acd1-1cccc569beb4_0
9918a9c4ac8b   k8s.gcr.io/pause:3.6   "/pause"                 13 seconds ago      Up 12 seconds                                                  k8s_POD_httpd-76f7455774-v45fb_dev_be9d0c08-6330-42b9-acd1-1cccc569beb4_0
1b2ebeb00111   5c2ee73209da           "httpd-foreground"       11 minutes ago      Up 11 minutes                                                  k8s_httpd_httpd-76f7455774-2vln2_dev_e0e8e85b-149a-4220-9817-26205137f762_1
f4033c816a79   k8s.gcr.io/pause:3.6   "/pause"                 About an hour ago   Up About an hour                                               k8s_POD_httpd-76f7455774-2vln2_dev_e0e8e85b-149a-4220-9817-26205137f762_0

1个deployment

[root@centos ~]# kubectl get deployment -n dev
NAME    READY   UP-TO-DATE   AVAILABLE   AGE
httpd   2/2     2            2           79m

2个pod:

[root@centos ~]# kubectl get pods -n dev
NAME                     READY   STATUS    RESTARTS      AGE
httpd-76f7455774-2vln2   1/1     Running   1 (17m ago)   83m
httpd-76f7455774-v45fb   1/1     Running   0             5m56s
[root@centos ~]# kubectl describe pod d1
Name:         d1
Namespace:    default
Priority:     0
Node:         centos/192.168.5.100
Start Time:   Mon, 11 Apr 2022 07:08:33 -0400
Labels:       run=d1
Annotations:  <none>
Status:       Running
IP:           172.17.0.7
IPs:IP:  172.17.0.7
Containers:d1:Container ID:   docker://b368ac46d5990c4b129260bd1a9f1865e2c23a02157fdc99d227fd8a28ff1635Image:          httpd:alpineImage ID:       docker-pullable://httpd@sha256:4eb4177b9245c686696dd8120c79cd64b7632b27d890db4cad3b0e844ed737afPort:           80/TCPHost Port:      0/TCPState:          RunningStarted:      Mon, 11 Apr 2022 07:09:13 -0400Ready:          TrueRestart Count:  0Environment:    <none>Mounts:/var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-xspzq (ro)
Conditions:Type              StatusInitialized       TrueReady             TrueContainersReady   TruePodScheduled      True
Volumes:kube-api-access-xspzq:Type:                    Projected (a volume that contains injected data from multiple sources)TokenExpirationSeconds:  3607ConfigMapName:           kube-root-ca.crtConfigMapOptional:       <nil>DownwardAPI:             true
QoS Class:                   BestEffort
Node-Selectors:              <none>
Tolerations:                 node.kubernetes.io/not-ready:NoExecute op=Exists for 300snode.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:  <none>
在这里插入代码片

kubernetes deployment,pod 实践相关推荐

  1. Spring Cloud Kubernetes容器化实践

    随着公司业务量和产品线的增加,项目越来越多,普通运维系统架构对整个软件研发生命周期的管理越来越难,效率低下,难以统一管理.近年来Docker统一了容器标准,对于软件开发流程产生了深远的影响,Docke ...

  2. 阿里巴巴 Kubernetes 应用管理实践中的经验与教训

    作者 | 孙健波(阿里巴巴技术专家).赵钰莹 导读:云原生时代,Kubernetes 的重要性日益凸显.然而,大多数互联网公司在 Kubernetes 上的探索并非想象中顺利,Kubernetes 自 ...

  3. Kubernetes之Pod调度

    本文讲的是Kubernetes之Pod调度[编者的话]Kubernetes调度器根据特定的算法与策略将pod调度到工作节点上.在默认情况下,Kubernetes调度器可以满足绝大多数需求,例如调度po ...

  4. Kubernetes中Pod的调度策略

    Kubernetes中Pod的调度策略 1.Pod调度 在 Kubernetes 平台上,我们很少会直接创建一个 Pod,在大多数情况下会通过 RC.Deployment. DaemonSet.Job ...

  5. JDOS 2.0:Kubernetes的工业级实践

    JDOS(Jingdong Datacenter Operating System)1.0于2014年推出,基于OpenStack进行了深度定制,并在国内率先将容器引入生产环境,经历了2015年618 ...

  6. Kubernetes 最佳安全实践指南

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 前言 对于大部分 Kubernetes 用户来说,安全是 ...

  7. 阿里云 Serverless Kubernetes 的落地实践分享

    简介:Serverless Kubernetes 基于 Kubernetes 之上,提供按需使用.节点免运维的 Serverless 能力,让开发者真正实现通过 Kubernetes 标准化 API ...

  8. 容器编排技术 -- Kubernetes Deployment

    容器编排技术 -- Kubernetes Deployment 1 创建 Deployment 1.1 Pod-template-hash label 2 更新Deployment 2.1 Rollo ...

  9. 4 Kubernetes资源-Pod控制器(1)

    4 Kubernetes资源-Pod控制器(1) Kubernetes中Pod分为自主式和控制器管理式: YAML指定类型为Pod的均为自主式,此类Pod退出后不会被创建: YMAL指定类型为Repl ...

最新文章

  1. Nature综述——真菌的多样性:真菌的高通量测序及鉴定
  2. 写个测试程序测试下,单片机使用浮点型数效率有多低
  3. 更改windows2003最大连接数的方法
  4. 清理Oracle安装目录里的一些日志信息
  5. 按钮控件里面的间距问题
  6. 深入理解JVM(三)——配置参数
  7. oracle查询相同想,返回相同总和的查询-Oracle SQL
  8. centos8安装mysql_Linux宝塔面板安装
  9. 软件测试--IEEE829标准
  10. java爬取前程无忧(51job)
  11. 基于图像传感器的可见光通信的优缺点分析
  12. 程序员怎么做可以安全通过试用期
  13. spring boot结合FastDFSClient做下载文件注意事项
  14. linux 防火墙 443端口映射,linux防火墙实现端口转发、端口映射及双向通路
  15. 类似Confluence的软件有哪些
  16. STM32-SPI资料整理
  17. ios swift 纯代码设置UITableViewCell的style
  18. FairyGUI-GComponent组件
  19. 微型连接器行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
  20. 华为HCIP-DATACOM题库解析271-300(821)

热门文章

  1. 概率论与数理统计:六大基本分布及其期望和方差
  2. 随机变量的期望和方差
  3. tar 解压指定文件,解压到指定文件夹
  4. 使用jquery获取标签的id属性
  5. this指向和如何改变this指向 (详解)
  6. Provides transitive vulnerable dependency org.yaml:snakeyaml:1.33
  7. 【原创】软件测试工程师-面试感悟-面试经验-面试官思维 分享
  8. 大厂面试真题解读:Tomcat的连接器是如何设计的?
  9. 等保测评--管理制度安全测评
  10. 数据同步工具—DataX—Web部署使用