Kubernetes架构图

https://www.cnblogs.com/guyeshanrenshiwoshifu/p/9044655.html

资源对象

workload: Pod , ReplicSet , Deployment , StatefulSet , DaemonSet , Job , Crontab

服务发现及负载均衡:Service , Ingress

配置与存储:Volume , CSI , ConfigMap , Secret , DownwarfAPI

集群级资源: Namespace , Node , Role , ClusterRole , ClusterRoleBing

元数据型资源: HPA(弹性伸缩),  PodTemplate , LimitRange(对pod的资源限制,CPU与内存)

创建资源的方法:apiserver

 

kubectl get pods nginx-1-6c968c79b9-h46mq -o yaml

 

五大一级字段:

apiVersion: group/version ,  core ,可以用kubectl api-versions 来查看 , pod 属于核心群组v1, deployment等属于apps/v1

kind: pod , deployment  资源类别

...

matadata:

      name:

     namespace:

     labels:

     annotations:

...

spec:  期望状态,disired state

       status: 当前状态

 

查看必要字段:

kubectl explain pod    kubectl explain pod.matadata  查看二级字段用法  可以一级一级的查看

kubectl explain deployment  kubectl explain deployment.spec

kubectl explain DaemonSet

apiVersion: v1
kind: Pod
metadata:
name: myapp
labels:
name: myapp
tier: frontend #类别
spec:
containers:
- name: myapp #列表用- 列出
image: <Image>
resources:
limits:
memory: "128Mi"
cpu: "500m"
ports:
- containerPort: <Port>

实例:

apiVersion: extensions/v1beta1 #当前配置格式版本
kind: Deployment #创建资源类型
metadata: #资源元数据,name是必须项
name: nginx-deployment
spec: #资源规格说明
replicas: 3 #副本数量
template: #定义pod模板
metadata: #pod元数据,至少一个label
labels:
app: web_server
spec: #pod规格说明
containers:
- name: nginx
image: nginx:1.7.9
 

busybox是一个不错的选择。它提及非常小,并且包含了nslookup,ping,wget等网络处理命令。略微遗憾这里没有包含curl

编辑busybox.yaml如下

apiVersion: v1
kind: Pod
metadata:
name: busybox
namespace: default
spec:
containers:
- name: busybox
image: busybox:1.28.4
command:
- sleep
- "3600"
imagePullPolicy: IfNotPresent
restartPolicy: Always

 

启动这个podkubectl create -f busybox.yaml

跳到这个容器肚子里:kubectl exec -it busybox sh

删除此定义资源

kubectl delete -f nginx-deployment.yaml

这个用dashboard 创建的service ,虽然处于<pending> 状态,但是也可以被访问

kubectl get service

nginx-1      LoadBalancer   10.1.179.108   <pending>     80:31709/TCP   8h

kubectl describe services

 

k8s运行简单应用

https://blog.csdn.net/cy309173854/article/details/81302759

DaemonSet部署的副本pod可分布在各个Node上,每个Node最多只能运行一个副本    

 

posted @ 2019-08-20 12:53  carl007  阅读(342)  评论(0编辑  收藏  举报