http://docs.kubernetes.org.cn/227.html
https://www.kubernetes.org.cn/k8s
Kubernetes是容器集群管理系统,是一个开源的平台,可以实现容器集群的自动化部署、自动扩缩容、维护等功能。
通过Kubernetes你可以:
- 快速部署应用
- 快速扩展应用
- 无缝对接新的应用功能
- 节省资源,优化硬件资源的使用
- 可移植: 支持公有云,私有云,混合云,多重云(multi-cloud)
- 可扩展: 模块化, 插件化, 可挂载, 可组合
- 自动化: 自动部署,自动重启,自动复制,自动伸缩/扩展
http://docs.kubernetes.org.cn/92.html
对集群 Nodes Service Pod Deployment讲述的非常清楚,有图画形式,非常形象。
http://docs.kubernetes.org.cn/683.html
https://www.cnblogs.com/klvchen/p/9585746.html
# 查看所有 pod 列表, -n 后跟 namespace, 查看指定的命名空间
kubectl get pod
kubectl get pod -n kube
kubectl get pod -o wide
# 查看 RC 和 service 列表, -o wide 查看详细信息
kubectl get rc,svc
kubectl get pod,svc -o wide
kubectl get pod <pod-name> -o yaml
# 显示 Node 的详细信息
kubectl describe node 192.168.0.212
# 显示 Pod 的详细信息, 特别是查看 pod 无法创建的时候的日志
kubectl describe pod <pod-name>
eg:
kubectl describe pod redis-master-tqds9
# 根据 yaml 创建资源, apply 可以重复执行,create 不行
kubectl create -f pod.yaml
kubectl apply -f pod.yaml
# 基于 pod.yaml 定义的名称删除 pod
kubectl delete -f pod.yaml
# 删除所有包含某个 label 的pod 和 service
kubectl delete pod,svc -l name=<label-name>
# 删除所有 Pod
kubectl delete pod --all
# 查看 endpoint 列表
kubectl get endpoints
# 执行 pod 的 date 命令
kubectl exec <pod-name> -- date
kubectl exec <pod-name> -- bash
kubectl exec <pod-name> -- ping 10.24.51.9
# 通过bash获得 pod 中某个容器的TTY,相当于登录容器
kubectl exec -it <pod-name> -c <container-name> -- bash
eg:
kubectl exec -it redis-master-cln81 -- bash
# 查看容器的日志
kubectl logs <pod-name>
kubectl logs -f <pod-name> # 实时查看日志
kubectl log <pod-name> -c <container_name> # 若 pod 只有一个容器,可以不加 -c
# 查看注释
kubectl explain pod
kubectl explain pod.apiVersion
http://www.dockone.io/article/4884




https://www.cnblogs.com/benjamin77/p/9903280.html
容器按照持续运行的时间可分为两类:
服务类容器
服务类容器通常持续提供服务,需要一直运行,比如 http server,daemon 等。
工作类容器
工作类容器则是一次性任务,比如批处理程序,完成后容器就退出。
Kubernetes 的 Deployment、ReplicaSet 和 DaemonSet 都用于管理服务类容器;对于工作类容器,我们用 Job。
https://www.jianshu.com/p/bd6cd1b4e076
Job对象通常用于运行那些仅需要执行一次的任务(例如数据库迁移,批处理脚本等等)。通过Job对象创建运行的Pod具有高可靠性,因为Job Controller会自动重启运行失败的Pod(例如Pod所在Node重启或宕机)。
Job的本质是确保一个或多个Pod健康地运行直至运行完毕。
https://devkimchi.com/2018/06/05/running-kubernetes-on-wsl/
其中最主要的是配置的拷贝。
Copying Kubernetes Config from Windows
Even though
kubectlhas been installed, we can‘t use this until configuration is copied over. Enter the following command in the Bash prompt.cp /mnt/c/Users/[USERNAME]/.kube/config ~/.kubeIf you have already completed this, you don‘t need
/mntbit any longer. Just use/c/Users/...instead.And let
kubectlknow to use the Docker for Windows context.kubectl in WSL should be working as expected. Enter the following command.
kubectl cluster-info
https://github.com/fanqingsong/code-snippet/blob/master/kubenetes/nginx-deployment.yaml
创建一个nginx服务,yml如下。
apiVersion: v1
kind: Service
metadata:
name: nginx-service
labels:
app: nginx-service
spec:
ports:
- port: 8080
targetPort: 80
nodePort: 30000
selector:
app: nginx
type: NodePort
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
labels:
app: nginx
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.7.9
ports:
- containerPort: 80
root@CN-00015440:~/win10/mine/kubenetes# kubectl apply -f nginx-deployment.yaml
service/nginx-service unchanged
deployment.apps/nginx-deployment unchanged
root@CN-00015440:~/win10/mine/kubenetes#
root@CN-00015440:~/win10/mine/kubenetes# kubectl get all
NAME READY STATUS RESTARTS AGE
pod/nginx-deployment-75675f5897-kglwz 1/1 Running 0 3h
pod/nginx-deployment-75675f5897-kgmnd 1/1 Running 0 3h
pod/nginx-deployment-75675f5897-pwv2g 1/1 Running 0 3h
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 9h
service/nginx-service NodePort 10.100.109.145 <none> 8080:30000/TCP 3h
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
deployment.apps/nginx-deployment 3 3 3 3 3h
NAME DESIRED CURRENT READY AGE
replicaset.apps/nginx-deployment-75675f5897 3 3 3 3h
root@CN-00015440:~/win10/mine/kubenetes#root@CN-00015440:~/win10/mine/kubenetes# kubectl delete -f nginx-deployment.yaml
service "nginx-service" deleted
deployment.apps "nginx-deployment" deleted
root@CN-00015440:~/win10/mine/kubenetes#
root@CN-00015440:~/win10/mine/kubenetes#
root@CN-00015440:~/win10/mine/kubenetes# kubectl get all
NAME READY STATUS RESTARTS AGE
pod/nginx-deployment-75675f5897-pwv2g 0/1 Terminating 0 3h
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 9h
root@CN-00015440:~/win10/mine/kubenetes#
root@CN-00015440:~/win10/mine/kubenetes#
root@CN-00015440:~/win10/mine/kubenetes# kubectl get all
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 9h
root@CN-00015440:~/win10/mine/kubenetes#
https://blog.csdn.net/wucong60/article/details/81699196
中文讲解的详细,适合起步。
https://github.com/rinormaloku/k8s-mastery
“Learn Kubernetes in Under 3 Hours”,英文系列教程。
https://baijiahao.baidu.com/s?id=1602795888204860650&wfr=spider&for=pc
应该是上文的中文翻译。
原文:https://www.cnblogs.com/lightsong/p/12596123.html