K8S基本概念-视频教学-学习笔记
Rancher官方免费培训视频网址:
视频网址:http://v.youku.com/v_show/id_XMjg5MTM5MjMxNg
视频时长:56分钟
目录:
1、配置Rancher和Kubernetes
2、K8S CLI: kubectl使用
3、容器组Pods
4、部署应用Deplotments
5、服务Services
6、配置管理Configmaps
7、负载均衡Ingresses
1、配置Rancher和Kubernetes
官方文档地址:http://rancher.com/docs/rancher/v1.6/en/kubernetes/
K8S电子书:概念介绍、部署扩容、升级监控等
http://info.rancher.com/deploying-scaling-kubernetes-ebook
3、容器组Pods
K8S的Pod概念:
-最小的调度单位
-包含一个或多个container
-每个pod有一个唯一的IP地址(不是每个容器有一个唯一的IP地址,Rancher中每个容器有一个IP地址)
-一个Pod中的容器可以通过localhost相互通信(一个Pod中的多个容器共享网络、IPC等命名空间)
-Pod中通常只有一个容器
-一般情况下,可以把Pod等同于Container
2、K8S CLI: kubectl
kubectl get node #获取节点信息
helm version #查看helm工具版本,部署较麻烦
在Rancher的K8S CLI页面中,
会自动生成kubectl命令行连接配置文件,
可以复制,也可以下载,无需我们编辑,
将K8S的kubectl配置文件的信息存放到:~/.kube/config,
这样就可以在shell中使用kubectl命令行工具连接到K8S。
可以通过复制,然后vi工具中粘贴
vi ~/.kube/config
这样在安装kubectl命令行工具的机器上,
就可以去连接到和管理K8S集群了,
这是Rancher带来的方便之处。
如何使用kubectl命令行创建一个Pod?
先用vi工具,编辑一个yaml文件,文件名随意,文件内容需要参考资料。
#编辑一个shell-pod.yaml文件
vim shell-pod.yaml
#使用刚刚创建的yaml文件,创建一个pod,-f参数指定一个文件
kubectl create -f shell-pod.yaml
#查看是否已经创建了一个新的Pod,获得Pod状态
kubectl get pod
#进入到shell容器中,执行bash命令
kubectl exec -it shell bash
#编辑一个nginx Pod的yaml文件
vim nginx-pod.yaml
#根据nginx-pod.yaml文件的内容,创建一个nginx pod。
kubectl create -f nginx-pod.yaml
在K8S集群的不同Pod的IP地址是相同网段的,他们之间是可以相互访问的。
#访问容器IP的80端口,看是否有输出
curl 10.42.x.x
#查看nginx pod 的详细详细,非常详细!
kubectl describe pod nginx
#编辑一个复杂的Pod配置文件,
#包括版本、类型、名字,镜像、端口、环境变量、数据卷、网络等
vim full-pod.yaml
full.pod.yaml文件内容:
apiVersion: v1
kind:Pod
metadata:
name:full
spec:
containers:
- name:full
image:nginx
ports:
- containerPort:80
env:
- name:EXAMPLE_ENV_VARIABLE
value:example_value</