kubernetes(2)部署k8s
部署kubernetes cluster
需要那些组件
我们将部署三个节点的kubernetes cluster
node | name |
---|---|
node1 | k8smaster |
node2 | k8snode1 |
node3 | k8snode2 |
kubernetes几乎所有的安装组件和docker镜像都放在google自己的网站,国内的话可以使用阿里云
导出各版本镜像列表
[root@server1 ~]# kubeadm config images list
W1105 10:37:37.438736 5334 version.go:101] could not
fetch a Kubernetes version from the internet: unable
to get URL "https://dl.k8s.io/release/stable-1.txt":
Get https://dl.k8s.io/release/stable-1.txt: net/http:
request canceled while waiting for connection
(Client.Timeout exceeded while awaiting headers)
W1105 10:37:37.438797 5334 version.go:102]
falling back to the local client version: v1.16.2
"""
API Server提供HTTP/HTTPS RESTful API,即Kubernetes API。
API Server是Kubernetes Cluster的前端接口,各种客户端工具
(CLI或UI)以及Kubernetes其他组件可以通过它管理Cluster的各种资源
"""
k8s.gcr.io/kube-apiserver:v1.16.2
"""
Controller Manager负责管理Cluster各种资源,保证资源处于预期的状态
"""
k8s.gcr.io/kube-controller-manager:v1.16.2
""
Scheduler负责决定将Pod放在哪个Node上运行。Scheduler在调度
时会充分考虑Cluster的拓扑结构,当前各个节点的负载,以及应用对
高可用、性能、数据亲和性的需求"
"""
k8s.gcr.io/kube-scheduler:v1.16.2
"""
service在逻辑上代表了后端的多个Pod,外界通过service访问
Pod。service接收到的请求是如何转发到Pod的呢?这就是kube-proxy
要完成的工作
"""
k8s.gcr.io/kube-proxy:v1.16.2
k8s.gcr.io/pause:3.1
"""
etcd负责保存Kubernetes Cluster的配置信息和各种资源的状态信
息。当数据发生变化时,etcd会快速地通知Kubernetes相关组件
"""
k8s.gcr.io/etcd:3.3.15-0
k8s.gcr.io/coredns:1.6.2
下载镜像的脚本
kubeadm config images list #查看所需要的版本
#下载镜像的脚本
#!/bin/bash
# pull image form aliyun registry and docker tag k8s
# ##################################################
image_name=(
kube-proxy:v1.15.3
kube-apiserver:v1.15.3
kube-controller-manager:v1.15.3
kube-scheduler:v1.15.3
pause:3.1
etcd:3.3.10
coredns:1.3.1
)
aliyun_registry="registry.cn-hangzhou.aliyuncs.com/google_containers/"
k8s_registry="k8s.gcr.io/"
for image in ${image_name[@]};do
docker pull $aliyun_registry$image
docker tag $aliyun_registry$image $k8s_registry$image
done
#下载完成后删除不必要的标签
[root@server1 ~]# docker rmi registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:1.6.2
[root@server3 ~]# docker images
REPOSI