K8S-核心资源管理方法

一、陈述式管理方法

主要依赖于命令行CLI工具进行管理
增删改查

1.1. 命名空间

#查看命名空间
[root@hdss1-53 ~]# kubectl get namespace

#简写查看命名空间
[root@hdss1-53 ~]# kubectl get ns

#指定命名空间查询,可省略-n default,默认为default
[root@hdss1-53 ~]# kubectl get all -n default   

1.2. 创建删除命名空间

#创建名称空间
[root@hdss1-53 ~]# kubectl create ns app

#查看名称空间
[root@hdss1-53 ~]# kubectl get ns

#删除名称空间app
[root@hdss1-53 ~]# kubectl delete ns app

1.3.管理deployment资源

#使用harbor里的镜像创建pod放在kube-public名称空间 
[root@hdss1-53 ~]# kubectl create deployment nginx-dp --image=harbor.od.com/public/nginx:1.7.9 -n kube-public 

#查看kube-public名称空间
[root@hdss1-53 ~]# kubectl get deploy -n kube-public

#查看pod资源
[root@hdss1-53 ~]# kubectl get pods -n kube-public

#扩展查看pod信息
[root@hdss1-53 ~]# kubectl get pods -n kube-public -o wide

#详细查看名称空间
[root@hdss1-53 ~]# kubectl  describe deployment nginx-dp -n kube-public 

#进入到pod资源,可以跨主机登陆
[root@hdss1-54 ~]# kubectl exec -ti nginx-dp-656b87bf6d-x2zwp /bin/bash -n kube-public

#进入docker容器,不能跨主机
[root@hdss1-54 ~]# docker ps -a|grep nginx

#可简写前四位,进入容器
[root@hdss1-54 ~]# docker exec -ti 6ad bash  

#使用watch查看
[root@hdss1-54 ~]# watch -n 1 'kubectl describe deployment nginx-dp -n kube-public|grep -C 5 Event'

#删除pod资源(重启),kubectl delete pod pod名称 -n 名称空间 ,强制删除[--force--grace-priod=0]
[root@hdss1-54 ~]# kubectl delete pod nginx-dp-6464d8f7d8-bqb2w -n kube-public

1.4管理service资源

kubectl expose deployment pod控制器名称 --port=端口 -n 名称空间
[root@hdss1-54 ~]# kubectl create deployment nginx-dp --image=harbor.od.com/public/nginx:v1.7.9 -n kube-public
[root@hdss1-54 ~]#kubectl get deploy -n kube-public
#查看当前名称空间没有service
[root@hdss7-21 ~]# kubectl get all -n kube-public
#创建service
[root@hdss7-21 ~]# kubectl expose deployment nginx-dp --port=80 -n kube-public
#扩容资源
[root@hdss7-22 ~]# kubectl scale deployment nginx-dp --replicas=2 -n kube-public
deployment.apps/nginx-dp scaled
[root@hdss7-22 ~]# ipvsadm -Ln

所有命令参考与
http://docs.kubernetes.org.cn/683.html

二、声明式管理方法

主要依赖于统一资源配置清单进行管理
2.1查看资源配置清单

#查看pod资源
[root@hdss1-53 ~]# kubectl get pods -n kube-public
NAME                        READY   STATUS    RESTARTS   AGE
nginx-dp-656b87bf6d-4t9nx   1/1     Running   0          31m
nginx-dp-656b87bf6d-x2zwp   1/1     Running   1          2d9h
[root@hdss1-53 ~]# kubectl get pods nginx-dp-656b87bf6d-x2zwp -o yaml -n kube-public
#查看service资源
[root@hdss1-53 ~]# kubectl get service -n kube-public
NAME       TYPE        CLUSTER-IP        EXTERNAL-IP   PORT(S)   AGE
nginx-dp   ClusterIP   192.168.221.177           80/TCP    40h
[root@hdss1-53 ~]# kubectl get svc nginx-dp -o yaml -n kube-public

2.2解释资源配置清单

[root@hdss1-53 ~]# kubectl explain service.metadata
KIND:     Service
VERSION:  v1

2.3创建资源配置清单

[root@hdss1-53 ~]# vim nginx-ds-svc.yaml 
apiVersion: v1
kind: Service
metadata:
  labels:
    app: nginx-ds
  name: nginx-ds
  namespace: default
spec:
  ports:
  - port: 8080
    protocol: TCP
    targetPort: 80
  selector:
    app: nginx-ds
  sessionAffinity: None
  type: ClusterIP

2.4应用资源配置清单

  #查看创建的资源清单
  [root@hdss1-53 ~]# kubectl get svc -n default
NAME         TYPE        CLUSTER-IP        EXTERNAL-IP   PORT(S)    AGE
kubernetes   ClusterIP   192.168.0.1               443/TCP    4d17h
nginx-ds     ClusterIP   192.168.0.237             8080/TCP   13m
nginx-ds2    ClusterIP   192.168.152.215           80/TCP     4m38s

[root@hdss1-53 ~]#   kubectl get svc nginx-ds -o yaml

2.5修改资源配置清单
在线修改

#修改端口为port: 8888
[root@hdss1-53 ~]#   kubectl edit svc nginx-ds
  clusterIP: 192.168.231.216
  ports:
  **- port: 8888**
    protocol: TCP
    targetPort: 80

[root@hdss1-53 ~]# kubectl get svc
NAME         TYPE        CLUSTER-IP        EXTERNAL-IP   PORT(S)    AGE
kubernetes   ClusterIP   192.168.0.1               443/TCP    4d17h
nginx-ds     ClusterIP   192.168.231.216           8888/TCP   4m38s

离线修改(推荐)

#修改对外暴露的端口
[root@hdss1-53 ~]# kubectl apply -f nginx-ds-svc.yaml
service/nginx-ds created
[root@hdss1-53 ~]# kubectl get svc
NAME         TYPE        CLUSTER-IP        EXTERNAL-IP   PORT(S)   AGE
kubernetes   ClusterIP   192.168.0.1               443/TCP   4d17h
nginx-ds     ClusterIP   192.168.231.216           880/TCP   7s

2.6删除资源配置清单
陈述式删除(推荐)

[root@hdss1-53 ~]# kubectl delete svc nginx-ds
service "nginx-ds" deleted

声明式删除

[root@hdss1-53 ~]# kubectl delete -f nginx-ds-svc.yaml 

三、GUI管理方法

主要依赖于图形操作界面(web页面)进行管理

你可能感兴趣的:(K8S,k8s)