k8s创建资源
一、创建方式分类:
命令 vs 配置文件
[root@cicd ~]# kubectl run httpd-app --image=reg.yunwei.edu/learn/httpd:latest --replicas=
deployment "httpd-app" created 查看创建的pod信息
[root@cicd ~]# kubectl get pod -o wide
NAME READY STATUS RESTARTS AGE IP NODE
httpd-app-cfb6dc947-lq58d / Running 6m 172.20.135.5 192.168.253.10
httpd-app-cfb6dc947-rp8wm / Running 6m 172.20.104.3 192.168.253.11 查看deployment信息
[root@cicd ~]# kubectl get deployment -o wide
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE CONTAINERS IMAGES SELECTOR
httpd-app 9m httpd-app reg.yunwei.edu/learn/httpd:latest run=httpd-app
可以看到容器名为httpd-app,deployment名为httpd-app
2)查看名为httpd-app的deployment详细描述。
[root@cicd ~]# kubectl describe deployment httpd-app

可以看到deploy的命名空间default和deplyment的来源以及创建了一个名为replicaset的子组件。组件名为httpd-app-cfb6dc947。
deployment的子组件取名方式为在父名后面加上-字符串。
3)我们再通过查看replicaset 的详细信息来了解创建的流程。
[root@cicd ~]# kubectl describe replicaset httpd-app-cfb6dc947
名称和空间
标签(labels)
容器
然后最重要的是来源controller-replicaset,并且创建了两组pod资源
由此可见创建流程为:
controller——deployment——relpicaset——pod

当然如果想更加直观简单的查看replicaset等状态,可以执行:
[root@cicd ~]# kubectl get replicaset
NAME DESIRED CURRENT READY AGE
httpd-app-cfb6dc947 13m
[root@cicd ~]# kubectl get replicaset -o wide
NAME DESIRED CURRENT READY AGE CONTAINERS IMAGES SELECTOR
httpd-app-cfb6dc947 13m httpd-app reg.yunwei.edu/learn/httpd:latest pod-template-hash=,run=httpd-app
kubectl apply 创建,要完成前面同样的工作,可执行命令:apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: httpd-deployment
spec:
replicas:
template:
metadata:
labels:
name: httpd
spec:
containers:
- name: httpd-app
image: reg.yunwei.edu/learn/httpd:latest
httpd.yml
- 简单直观快捷,上手快。
- 适合临时测试或实验。
- 配置文件描述了
What,即应用最终要达到的状态。 - 配置文件提供了创建资源的模板,能够重复部署。
- 可以像管理代码一样管理部署。
- 适合正式的、跨环境的、规模化部署。
- 这种方式要求熟悉配置文件的语法,有一定难度。
kubectl apply 不但能够创建 Kubernetes 资源,也能对资源进行更新,非常方便。不过 Kubernets 还提供了几个类似的命令,例如 kubectl create、kubectl replace、kubectl edit 和 kubectl patch。kubectl apply,
[root@cicd ~]# kubectl apply -f httpd.yml
deployment "httpd-deployment" configured
[root@cicd ~]# kubectl label node 192.168.253.11 disktype=ssd
node "192.168.253.11" labeled

[root@cicd ~]# kubectl get node --show-labels
NAME STATUS ROLES AGE VERSION LABELS
192.168.253.10 Ready <none> 21h v1.9.7 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/hostname=192.168.253.10
192.168.253.11 Ready <none> 21h v1.9.7 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,disktype=ssd,kubernetes.io/hostname=192.168.253.11
192.168.253.14 Ready,SchedulingDisabled <none> 21h v1.9.7 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/hostname=192.168.253.14
nodeSelector:
disktype: ssd
[root@cicd ~]# kubectl get pod -o wide
NAME READY STATUS RESTARTS AGE IP NODE
httpd-deployment-957479bb9-xpvn4 / Running 2h 172.20.135.11 192.168.253.10
httpd-deployment-957479bb9-xpvrl / Running 2h 172.20.104.13 192.168.253.10
httpd-deployment-957479bb9-zqzgw / Running 2h 172.20.135.12 192.168.253.10
[root@cicd ~]# kubectl label node 192.168.253.11 disktype-
node "192.168.253.11" labeled
root@cicd ~]# kubectl get node --show-labels
NAME STATUS ROLES AGE VERSION LABELS
192.168.253.10 Ready <none> 21h v1.9.7 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/hostname=192.168.253.10
192.168.253.11 Ready <none> 21h v1.9.7 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/hostname=192.168.253.11
192.168.253.14 Ready,SchedulingDisabled <none> 21h v1.9.7 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/hostname=192.168.253.14
# nodeSelector:
# disktype: ssd
以及 kubectl apply -f http.yml
三、DaemonSet:
DeamonSet应用
- 在集群的每个节点上运行存储 Daemon,比如 glusterd 或 ceph。
- 在每个节点上运行日志收集 Daemon,比如 flunentd 或 logstash。
- 在每个节点上运行监控 Daemon,比如 Prometheus Node Exporter 或 collectd。
[root@cicd ~]# kubectl get daemonset --namespace=kube-system -o wide
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE CONTAINERS IMAGES SELECTOR
calico-node <none> 19h calico-node,install-cni calico/node:v3.0.6,calico/cni:v2.0.5 k8s-app=calico-node
k8s创建资源的更多相关文章
- k8s创建资源的两种方式
命令 vs 配置文件 Kubernetes 支持两种方式创建资源: 1. 用 kubectl 命令直接创建 kubectl run nginx-deployment --image=nginx: -- ...
- k8s创建资源的两种方式及DaemonSet应用(5)
一.创建方式分类 Kubernetes 支持两种方式创建资源: (1)用 kubectl 命令直接创建,比如: kubectl run httpd-app --image=reg.yunwei.com ...
- k8s 创建资源的两种方式 - 每天5分钟玩转 Docker 容器技术(124)
命令 vs 配置文件 Kubernetes 支持两种方式创建资源: 1. 用 kubectl 命令直接创建,比如: kubectl run nginx-deployment --image=nginx ...
- k8s 创建资源的两种方式【转】
命令 vs 配置文件 Kubernetes 支持两种方式创建资源: 1. 用 kubectl 命令直接创建,比如: kubectl run nginx-deployment --image=nginx ...
- k8s创建资源的两种方式(5)
一.创建方式分类: 命令 vs 配置文件 Kubernetes 支持两种方式创建资源: 1.用 kubectl 命令直接创建,比如: kubectl run httpd-app --image=reg ...
- 第5篇K8S创建资源的两种方式
一.创建方式分类: 命令 vs 配置文件 Kubernetes 支持两种方式创建资源: 1.用 kubectl 命令直接创建,比如: kubectl run httpd-app --image=r ...
- K8s创建pod yaml文件详解
kubernetes创建pod的yaml文件,参数说明 apiVersion: v1 #指定api版本,此值必须在kubectl apiversion中 kind: Pod #指定创建资源的角色/类型 ...
- kubernetes创建资源对象yaml文件例子--pod详解
apiVersion: v1 #指定api版本,此值必须在kubectl apiversion中 kind: Pod #指定创建资源的角色/类型 metadata: #资源的元数据/属性 name: ...
- [置顶]
kubernetes创建资源yaml文件例子--rc
apiVersion: v1 #指定api版本,此值必须在kubectl apiversion中 kind: ReplicationController #指定创建资源的角色/类型 metadata: ...
随机推荐
- Lock和synchronized的区别和使用(转发)
今天看了并发实践这本书的ReentantLock这章,感觉对ReentantLock还是不够熟悉,有许多疑问,所有在网上找了很多文章看了一下,总体说的不够详细,重点和焦点问题没有谈到,但这篇文章相当不 ...
- oracle PL/SQL编程基础知识
在oracle中使用pl/sql来扩展SQL的功能,使得SQL能够更加的灵活,功能更加强大,效率更高.pl/sql让sql也能执行判断,循环等操作.主要记录一下pl/sql的基本语法和基本条件判断语句 ...
- [转载]关于晶振ppm
写得不错,小白的我学习了 原文地址:关于晶振ppm作者:thomaswangbj XXppm就是说频率的误差=(xx/百万)*振荡器的标称频率 eg1:120ppm,27M的晶振,频率的误差 = 12 ...
- EFL - Championship
Swansea City Charlton AthleticBristol CityLeeds UnitedPreston North EndWest Bromwich AlbionQue ...
- LAMP架构编译安装过程详解
linux Git 安装 1.安装git依赖包 . yum install -y perl-ExtUtils-MakeMaker package . yum install -y tcl build- ...
- JavaSE---显式锁
1.概述 1.1.jdk5之前,用于 调节共享对象访问机制 只有 synchronized.volatile: jdk5之后,提供了 显示锁:Lock.ReentrantLock...: ...
- 移动web开发之像素和DPR详解
前话: 像素在web开发中几乎天天用到,但到底什么是像素,移动端和桌面端的像素有区别吗,缩放对像素有影响吗,视网膜屏幕和像素有什么关系?关于这些问题,可能就不清楚了.本文将介绍关于像素的相关知识 什么 ...
- LeetCode--098--验证搜索二叉树(python)
给定一个二叉树,判断其是否是一个有效的二叉搜索树. 假设一个二叉搜索树具有如下特征: 节点的左子树只包含小于当前节点的数.节点的右子树只包含大于当前节点的数.所有左子树和右子树自身必须也是二叉搜索树. ...
- 【FJ省队训练&&NOIP夏令营】酱油&&滚粗记
FJOI2016省队训练滚粗记 2016.07.03~2016.07.06(Day1~5) 在学校期末考.因为才省选二试too young too simple爆蛋了所以下半个学期只能滚回去读文化课, ...
- 洛谷P2258 子矩阵——题解
题目传送 表示一开始也是一脸懵逼,虽然想到了DP,但面对多变的状态不知从何转移及怎么合理记录状态.之(借鉴大佬思路)后,豁然开朗,于是在AC后分享一下题解. 发现数据范围出奇地小,不过越是小的数据范围 ...