api server
scheduler
controler manager
pod内容器共享网络空间、存储卷volume
同一个pod内的容器要运行在同一个node之上
pod 标签是k8s上大规模管理pod的手段
会有一个标签选择器,过滤符合资源
kube-proxy会在pod发生变化时通知apiserver,其他节点kube-proxy同步修改iptables规则,即service更新
网络作为第三方插件,需要管理两种网络pod网络和集群网络
安装kubernetes
1、基于ansible
2、使用kube-adm,只有需要安装kubelet,其余均为容器,但容器镜像下载是个问题
管理kubernetes的一个工具
这个是我们打算用来安装kubernetes的工具,kubeadm
自定义kubernetes的yum源
如果有防火墙影响,设置代理
docker info
不需要手动启动,只要设置下开机自启动即可
kubeadm init --help获取帮助提示
rpm --import rpm-pachage-key.gpg
主节点部署flannel
系统级的pod在kube-system名称空间
node节点设置
启动docker
docker info 可以用来查看
node02
yum install docker-ce kubelet kubeadm -y
启动docker
yum install bind-utils -y
安装dig等域名解析客户端
kubectl edit svr nginx就可以打开service的设置
kubectl describe deployment nginx-depoly
修改pod规模
kubectl edit svr myapp
kubernetes涉及的集中资源如下
除了使用命令方式创建pod
还有一种是使用配置清单来创建pod相关,yaml格式如下
apiserver版本如下
关于创建资源的格式说明
kubectl explain [pods]
还可以如下
kubectl explain pods.metadata