主要依赖于命令行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
主要依赖于图形操作界面(web页面)进行管理