Kubernetes是Google开源的一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理。在生产环境中部署一个应用程序时,一般要部署该应用的多个实例以便对应用请求进行负载均衡。node
Kubernetes安装在Ubuntu、CentOS这两个环境上较为稳定,本次安装将以Ubuntu环境为例(CentOS环境也相似),准备两台Ubuntu虚拟机或云服务器,版本为16.04便可。
linux
1)更新包索引:git
apt-get updategithub
2)下载docker官方源的公钥并添加到apt的公钥库中:docker
curl-fsSL download.docker.com/linux/ubunt… | apt-key add -ubuntu
3)添加docker官方源的仓库:后端
add-apt-repository "deb [arch=amd64] download.docker.com/linux/ubunt… $(lsb_release -cs) stable"api
4)执行完以上命令以后,在/etc/apt/sources.list文件中将添加以下内容缓存
5)再次更新包索引:服务器
apt-get update
1)执行:
apt-get install docker-ce=17.03.2~ce-0~ubuntu-xenial,安装Docker;
2)验证Docker安装结果:
dockerversion
3)查看docker后台服务运行的状况:
systemctl status docker
1) kubeadm:做为安装工具来引导启动集群,kubeadm将kubernetes核心组件以容器化的方式安装和引导启动运行;
2) kubelet:Node组件中的
kubelet依旧以主机后端服务的形式运行kubernetes集群的全部节点上,是主节点与从节点交互的关键组件;3) kubectl:是安装集群后的命令行工具,至少安装在master上,对集群进行管理。
1)添加kubernetes apt源的公钥文件:
curl-s packages.cloud.google.com/apt/doc/apt… | apt-key add -
2)将官方源列表加入到本地源列表配置目录中:
vi /etc/apt/sources.list.d/kubernetes.list,在该文件中加入以下内容:
3)更新本地包缓存:apt-get update
1) apt-get update && apt-get install -y apt-transport-https
2) curl mirrors.aliyun.com/kubernetes/… | apt-key add -
3) vi /etc/apt/sources.list.d/kubernetes.list,在该文件中加入:deb mirrors.aliyun.com/kubernetes/… kubernetes-xenial main
4)更新本地包缓存:
apt-get update
1) apt-get install -y kubelet kubeadm kubectl
2) apt-get install kubeadm=1.10.2-00 kubectl=1.10.2-00 kubelet=1.10.2-00
3)
1)先从国内源(能够从dockerhub上查找)将以上核心组件下载到本地,例如:docker pull gcrxio/kube-apiserver-amd64:v1.14.1
2)从新打标签,例如:docker tag gcrxio/kube-apiserver-amd64:v1.14.1 k8s.gcr.io/kube-apiserver-amd64:v1.14.1
3)在Worker节点只须要下载pause和kube-proxy镜像便可。
1)执行kubeadm init命令初始化:kubeadm init --apiserver-advertise-address=172.16.154.177 --pod-network-cidr=192.168.16.0/20,
以下图:
2)设置kubectl访问控制平面,设置环境变量:export
KUBECONFIG=/etc/kubernetes/admin.conf
3)查看安装状况:kubectl get pods -n kube-system
Kubernetes的网络插件不少,这里以安装Weave为例:
1)安装Weave Net
kubectl apply -f cloud.weave.works/k8s/net?k8s…
2)建立weave.yaml文件,以下:
3)执行命令进行安装:Kubectl apply -f weave.yaml
4)验证安装结果:kubectl get pods -n kube-system
1)按照前面的步骤,在worker节点上(好比是k8s2)安装docker环境
2)按照前面的步骤,在k8s2节点上安装kubeadm、kubelet
3)按照前面的步骤,在k8s2节点上下载pause和kube-proxy镜像
1)在k8s2节点上执行kubeadm join命令:kubeadm join
172.16.154.178:6443 --token ab7j9d.rxopqtvyv7qf6488 --discovery-token-ca-cert-hash
sha256:c0d784704724ea4be3b7bb31a61404aa05a591b596405699e7c36fe3a500bec9
1) docker pull gcrxio/kubernetes-dashboard-amd64:v1.10.1
2) docker tag gcrxio/kubernetes-dashboard-amd64:v1.10.1
k8s.gcr.io/kubernetes-dashboard-amd64:v1.10.1
1)下载dashboard配置文件,执行以下命令:
2)修改dashboard配置文件kubernetes-dashboard.yaml,并在此文件中的Service部分下添加
3)建立Pod,执行命令:
kubectl create -f {path}/kubernetes-dashboard.yaml
1)访问地址:https://47.97.249.8:31233
本人创业团队产品MadPecker,主要作BUG管理、测试管理、应用分发,网址:www.madpecker.com,有须要的朋友欢迎试用、体验!
本文为MadPecker团队技术人员编写,转载请标明出处