k8s的service
k8s创建service,然后外部可以访问service从而实现访问pod和容器。
service 主要有三种类型,一种叫ClusterIP, 一种叫NodePort类型,一种叫外部的LoadBalancer
ClusterIP只能是cluster集群内部访问,NodePort可以支持外部访问。
kubectl expose 可以导出一个service
我们查看下pod信息
前文提及kubectl根据pod yml启动pod,接下来我们删除pod
1 | kubectl delete -f pod_nginx.yml |
查看运行pod
1 | kubectl get pods |
Kubernetes(k8s)是自动化容器操作的开源平台,这些操作包括部署,调度和节点集群间扩展。
k8s有两种节点,master节点和node节点
master节点:是集群的大脑,master节点包括,Api Server,Scheduler,Controller 。
Api Server组件,该组件主要是为了响应UI或者CLI的请求
Scheduler组件: 用来调度容器运行和停止,以及运行在哪些节点上
Contoller组件:维持服务可扩展,保证稳定运行数量
Etcd组件:主要是分布式存储k8s的服务状态等。
Node节点:包括Pod,Docker,kubelet,kube-proxy,fluentd
Pod :运行在节点上,包含一组容器和卷。同一个Pod里的容器共享同一个网络命名空间,可以使用localhost互相通信。
Docker: 容器技术
kubelet:负责在创建容器,分配volume和network等
kube-proxy:主要负责网络端口的代理和转发
fluentd:负责日志的采集和存储。
先用mysql5.6镜像启动一个名字为mysql-wordpress的容器,接着基于这个容器我们启动一个wordpress容器
1 | docker run -d --name mysql-wordpress -v /home/zack/dockerwork/mysql-workpress:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE=wordpress mysql:5.6 |