Kubernetes¶
每天5分钟玩转容器技术¶
Docker¶
- 1. 写在最前面
- 2. 容器生态系统
- 3. 容器生态系统 (续)
- 4. 运行第一个容器
- 5. 视频
- 6. 容器 What, Why, How
- 7. Docker 架构详解
- 8. Docker 组件如何协作
- 9. 最小的镜像
- 10. base镜像
- 11. 镜像的分层结构
- 12. 构建镜像
- 13. Dockerfile 构建镜像
- 14. 镜像的缓存特性
- 15. 调试 Dockerfile
- 16. Dockerfile 常用指令
- 18. 镜像命名的最佳实践
- 19. 使用公共 Registry
- 20. 搭建本地 Registry
- 21. Docker 镜像小结
- 22. 如何运行容器?
- 23. 两种进入容器的方法
- 24. 运行容器的最佳实践
- 25. 容器常用操作
- 26. 一张图搞懂容器所有操作
- 27. 限制容器对内存的使用
- 28. 限制容器对CPU的使用
- 29. 限制容器的 Block IO
- 30. 实现容器的底层技术
- 31. none 和 host 网络的适用场景
- 32. 学容器必须懂 bridge 网络
- 33. 如何自定义容器网络?
- 34. 理解容器之间的连通性
- 35. 容器间通信的三种方式
- 36. 容器如何访问外部世界?
- 37. 外部世界如何访问容器?
- 38. Docker 的两类存储资源
- 39. Data Volume 之 bind mount
- 40. docker managed volume
- 41. 如何共享数据?
- 42. 用 volume container 共享数据
- 43. data-packed volume container
- 44. volume 生命周期管理
- 45. 安装 Docker Machine
- 46. 创建 Machine
- 47. 管理 Machine
- 48. 跨主机网络概述
- 49. 准备 overlay 网络实验环境
- 50. 创建 overlay 网络
- 51. 在 overlay 中运行容器
- 52. overlay 如何实现跨主机通信?
- 53. overlay 是如何隔离的?
- 54. 准备 macvlan 环境
- 55. 创建 macvlan 网络
- 56. macvlan 网络结构分析
- 57. macvlan 网络隔离和连通
- 58. flannel 概述
- 59. 安装配置 flannel
- 60. 在 Docker 中使用 flannel
- 61. flannel 的连通与隔离
- 62. 如何使用 flannel host-gw backend?
- 63. 如何使用 Weave 网络?
- 64. Weave 网络结构分析
- 65. 容器在 Weave 中如何通信和隔离?
- 66. Weave 如何与外网通信?
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
K8s¶
- 114. 学习 Kubernetes 的 Why 和 How
- 115. 五秒创建 k8s 集群
- 116. k8s 核心功能
- 117. k8s 重要概念
- 118. 部署 k8s Cluster(上)
- 119. 部署 k8s Cluster(下)
- 120. Kubernetes 架构(上)
- 121. Kubernetes 架构(下)
- 122. 通过例子理解 k8s 架构
- 123
- 124
- 125
- 126
- 127
- 128
- 129
- 130
- 131
- 132
- 133
- 134
- 135
- 136
- 137
- 138
- 139
- 140
- 141
- 142
- 143
- 144
- 145
- 146
- 147
- 148
- 149
- 150
- 151
- 152
- 153
- 154
- 155
- 156
- 157
- 158
- 159
- 160
- 161
- 162
- 163
- 164
- 165
- 166
- 167
- 168
- 169
- 170
- 171
- 172
- 173
- 174
- 175
- 176
- 177
- 178
- 179
- 180. Kubernetes 集群日志管理
kubeadm token list
# get --discovery-token-ca-cert-hash
openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed 's/^.* //'
搭建¶
- 安装部署 Kubernetes 集群
- kubeadm安装kubernetes集群
- 【kubernetes/k8s 部署】minikube与kubernetes搭建 2017.08.16
- 使用Kubeadm快速搭建Kubernetes(docker)
- 使用kubeadm安装Kubernetes v1.10以及常见问题解答
- Kubernetes in Vagrant with kubeadm
- k8s学习笔记(一)
- Kubernetes Handbook
测试¶
#################
# busybox.yaml
#################
apiVersion: v1
kind: Pod
metadata:
name: busybox
namespace: default
spec:
containers:
- image: busybox
command:
- sleep
- "3600"
imagePullPolicy: IfNotPresent
name: busybox
restartPolicy: Always
sudo kubectl create -f ./busybox.yaml
sudo kubectl get rc
sudo kubectl get pods
sudo kubectl describe pod mysql
FAQ¶
问题:
########################3
# Centos7
########################3
#sudo kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/v0.10.0/Documentation/kube-flannel.yml
$ sudo kubectl apply -f ./kube-flannel.yml
unable to recognize "./kube-flannel.yml": Get http://localhost:8080/api?timeout=32s: dial tcp [::1]:8080: connect: connection refused
unable to recognize "./kube-flannel.yml": Get http://localhost:8080/api?timeout=32s: dial tcp [::1]:8080: connect: connection refused
unable to recognize "./kube-flannel.yml": Get http://localhost:8080/api?timeout=32s: dial tcp [::1]:8080: connect: connection refused
unable to recognize "./kube-flannel.yml": Get http://localhost:8080/api?timeout=32s: dial tcp [::1]:8080: connect: connection refused
unable to recognize "./kube-flannel.yml": Get http://localhost:8080/api?timeout=32s: dial tcp [::1]:8080: connect: connection refused
The connection to the server localhost:8080 was refused - did you specify the right host or port
解决: 需要开启 api server 代理端口:
# 查看端口是否代理:
$ curl localhost:8080/api
# 开启端口代理:
$ kubectl proxy --port=8080 &