kubernetes资源简介

资源概念

  • Pod

    • 最小部署单元

    • 一组容器的集合

    • 一个pod中的容器共享网络命名空间

    • Pod是短暂的

  • Controllers

    • Deployment:无状态应用部署

    • StatefulSet:有状态应用部署

    • DaemonSet:确保所有Node运行同一个Pod

    • Job:一次性任务

    • Cronjob:定时任务

  • Service

    • 放置Pod失联

    • 定义一组Pod的访问策略

  • Label:标签,附加到某个资源上,用于关联对象、查询与筛选

    # kubectl get ep
    NAME         ENDPOINTS                                                  AGE
    kubernetes   10.0.0.100:6443                                            32h
    my-dep-svc   192.168.169.129:80,192.168.169.130:80,192.168.169.131:80   17m
    service 关联Pod是根据标签来关联的
    查看  svc资源 # kubectl get svc my-dep-svc -o yaml
    编辑 svc 资源 # kubectl edit my-dep-svc
     selector:
        app: my-dep
      sessionAffinity: None
      type: NodePort
    # ===========
    命令行查询标签:
    # kubectl get pods --show-labels
    NAME                      READY   STATUS    RESTARTS   AGE   LABELS
    my-dep-5b7868d854-dphc8   1/1     Running   0          26m   app=my-dep,pod-template-hash=5b7868d854
    my-dep-5b7868d854-sgr2k   1/1     Running   0          26m   app=my-dep,pod-template-hash=5b7868d854
    my-dep-5b7868d854-z9k5r   1/1     Running   0          26m   app=my-dep,pod-template-hash=5b7868d854
    ​
    # kubectl get deployment --show-labels(deployment 也是通过labels来管理pod的)
    NAME     READY   UP-TO-DATE   AVAILABLE   AGE   LABELS
    my-dep   3/3     3            3           27m   app=my-dep
    ​
    根据标签列出对应的资源
    # kubectl get pods -l app=my-dep
    NAME                      READY   STATUS    RESTARTS   AGE
    my-dep-5b7868d854-dphc8   1/1     Running   0          28m
    my-dep-5b7868d854-sgr2k   1/1     Running   0          28m
    my-dep-5b7868d854-z9k5r   1/1     Running   0          28m
    ​
    查看pod运行状态
    # kubectl describe pods my-dep-5b7868d854-dphc8
    ​
    
  • Namespaces: 命名空间,将对象逻辑上隔离

Namespaces引入的目的:
- 资源隔离
- 对命名空间进行权限控制
​
查看命名空间
# kubectl get namespace
NAME              STATUS   AGE
default           Active   32h
kube-node-lease   Active   32h
kube-public       Active   32h
kube-system       Active   32h
tigera-operator   Active   32h
​
查看对应命名空间中的pod
# kubectl -n kube-system get  pods
NAME                                       READY   STATUS    RESTARTS      AGE
calico-kube-controllers-75f8f6cc59-mbxps   1/1     Running   5 (37m ago)   32h
calico-node-5hx4d                          1/1     Running   1 (32h ago)   32h
calico-node-ddtjt                          1/1     Running   2 (23h ago)   32h
calico-node-n65kw                          1/1     Running   2 (23h ago)   32h
coredns-7f6cbbb7b8-mvd8x                   1/1     Running   2 (23h ago)   32h
coredns-7f6cbbb7b8-x7b2s                   1/1     Running   2 (23h ago)   32h
etcd-k8s-master                            1/1     Running   2 (32h ago)   32h
kube-apiserver-k8s-master                  1/1     Running   2 (32h ago)   32h
kube-controller-manager-k8s-master         1/1     Running   2 (32h ago)   32h
kube-proxy-7rxb6                           1/1     Running   2 (32h ago)   32h
kube-proxy-9dch7                           1/1     Running   3 (23h ago)   32h
kube-proxy-vpjbr                           1/1     Running   3 (23h ago)   32h
kube-scheduler-k8s-master                  1/1     Running   2 (32h ago)   32h
​
创建命名空间
# kubectl create namespace cka
namespace/cka created
在指定命名空间中创建pod
​
# kubectl create deployment my-web --image=nginx --replicas=2 -n cka
deployment.apps/my-web created
# kubectl get pod -n cka
NAME                      READY   STATUS              RESTARTS   AGE
my-web-6b6c9df775-8bqdd   0/1     ContainerCreating   0          10s
my-web-6b6c9df775-fbkzm   0/1     ContainerCreating   0          10s
# kubectl expose deployment my-web -n cka --port=80 --target-port=80 --type=NodePort
service/my-web exposed
​
查看资源
​
# kubectl get deploy,pod,svc -n cka
NAME                     READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/my-web   2/2     2            2           2m2s
​
NAME                          READY   STATUS    RESTARTS   AGE
pod/my-web-6b6c9df775-8bqdd   1/1     Running   0          2m2s
pod/my-web-6b6c9df775-fbkzm   1/1     Running   0          2m2s
​
NAME             TYPE       CLUSTER-IP     EXTERNAL-IP   PORT(S)        AGE
service/my-web   NodePort   10.96.225.85   <none>        80:32655/TCP   75s
​
# 删除资源
# kubectl delete deployment my-web -n default
deployment.apps "my-web" deleted
​
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值