最佳入门文档莫过于官方文档配合demo,由浅入深,由宏观到细节,再由细节反推全局
https://kubernetes.io/zh/docs/tutorials/
常用命令列表:
启动Minikube
minikube start --vm-driver=virtualbox --image-repository="registry.cn-hangzhou.aliyuncs.com/google_containers" --registry-mirror=https://2s9yrmio.mirror.aliyuncs.com --image-mirror-country=cn
--alsologtostderr -v=8
获取集群信息
kubectl cluster-info
获取节点Ip
minikube ip
获取minikube版本
minikube version
获取kubectl版本
kubectl version
获取全部节点
kubectl get nodes
获取deployment
kubectl get deployments
获取service
kubectl get services
获取pod
kubectl get pods
查看Pod详情
kubectl decribe po -l app=sleep --selector=tier=master //nodeselector
获取网关
kubectl get gateway
获取event
kubectl get events
创建deployment
方式一
kubectl run hello-node --image=hello-node:v1 --port=8080
方式二
kubectl create deployment hello-node --image=gcr.io/hello-minikube-zero-install/hello-node
删除 deployment (指定命名空间default)
kubectl delete -n default deployment hello-node
创建service
kubectl expose deployment hello-node --type=LoadBalancer --port=8080
访问service
minikube service hello-mode
代理apiserver
kubectl proxy
访问节点
minikube ssh
访问控制台
minikube dashboard
minikube日志
minikube logs
访问远程apiserver
kubectl -s 127.0.0.1:8090 get node
查询命名空间
kubectl get namespace
修改pod命名空间(default -> istio-injection-)
kubectl label namespace default istio-injection-
批量删除pod
kubectl delete pods -l app=sleep
弹性伸缩
kubectl scale deployment my-nginx --replicas=100
开发环境部署到minikube
mvn clean package fabric8:deploy -Pkubernetes
创建k8s集群角色,
kubectl create clusterrolebinding test:anonymous --clusterrole=cluster-admin --user=system:anonymous
给节点设置label
kubectl label node k8s-node1 disktype=ssd
显示节点上绑定的label
kubectl get node --show-labels
删除label
kubectl label node k8s-node1 disktype-
DaemonSet
Deployment部署的副本Pod会分布在各个Node上,每个Node都可
能运行好几个副本。DaemonSet的不同之处在于:每个Node上最多只
能运行一个副本
DaemonSet的典型应用场景有:
(1)在集群的每个节点上运行存储Daemon,比如glusterd或
ceph。
(2)在每个节点上运行日志收集Daemon,比如flunentd或
logstash。
(3)在每个节点上运行监控Daemon,比如Prometheus Node
Exporter或collectd。
查询ds
kubectl get daemonset --namespace=kube-system