K8S通过公有镜像仓库托镜像很慢,可以从harbor下载,再从harbor里把仓库信息棒在k8s里,通过k8s网络私有harbor仓库去使用镜像。
router就是软路由 安装方式是kubeadm
是k8s官方的
磁盘大一点 100G
软路由的安装
此处省略了。。。。
初始化关闭swap分区虚拟内存 因为不关闭的话 k8s初始化会检测k8s虚拟内存有没有关闭 因为开启了虚拟内存的话 pod可能在虚拟内存中运行 大大降低工作效率
内核参数
一个是关掉ipv6协议 一个开启网桥模式
kube-proxy主要解决的就是svc与pod的调度关系
lvs调度可以极大的提高其效率
该网段默认下会安装flannel的插件去实现覆盖性网络,她的
默认的podnet的网段就是改网段。
因为k8s采用的是htt协议的cs开发。在所有组件通信的时候采用的都是https双向认证,所以需要大量的证书和私钥密钥。
创建的目录 会保存连接配置
家目录下创建
kubectl需要和kube api交互,交互的时候采用https协议,
所有有一些缓存需要保存,会被保存在该目录下,
以及认证文件也会保存 .kube/config
拷贝集群管理员配置文件
加权限 授予权限给当前用户
这样kubectl 就可以使用了
notready就是因为没有扁平化网络
所以需要flanneld 其实就是推一个yaml文件。
wget xx.yml
kubectl create -f kube-flannel.yml
或者
kubectl apply -f https://xxx.yaml
都是根据资源清单去创建
所有的系统组件都会默认安装在kube-system中
其余的都是在default中
ifconfig查看多出来一个flannel1
因为有扁平化网络了 所以ready了
把node1,node2加入集群
-o wide正在初始化过程中
可以查看的更详细
私有仓库harbor
使用似有仓库的deployment起一个Pod
rs就是replyset. 那个。deployment会连接replyset去创建pod
可以看到pod容器在node2上面
pause。只要运行一个pod就会有pause
访问私有ip
下面这个就是访问pod里面的hostname
k8s优点
如上,删除了pod后会发现会自动的再次创建了一个新的pod,因为创建的控制器的副本数量写的是1.所以会维持副本数量。
直接扩容三个
当然随便删除一个还是会创建新的出来的。
但是无法直接外部访问这三pod
因此可以通过svc进行访问
kubectl expose --help
给development创建expose
访问80端口对应的是容器的8000端口
通过svc可以访问到 发现还是轮训的
ipvsadm -Ln
可以看到轮训的确实是这几个容器的ip
所以svc的机制其实就是通过调度lvs模块实现的负载均衡或者暴露服务。
但是网页通过svc的IP+端口是无法访问的
默认是通过clusterIP但是我们可以更改为NodePort方式访问。
只需要更改type类型clusterIP为nodeport方式即可。
通过master的ip+端口直接访问。通过其他node节点也可以访问。是暴露了所有的