Openstack+Kubernetes+Docker微服务实践之路--Kubernetes
2016-11-21 20:48
891 查看
下载Kubernetes依赖资源
所有操作在可以穿墙的机器上进行1,下载安装源
我们使用的kubernetes版本是1.4.5, 参考官方安装文档,http://kubernetes.io/docs/getting-started-guides/kubeadm/ ,配置好源后,仅下载所有Kubernetes依赖的安装包,注意这里不需要再安装Docker了yum install -y kubelet kubeadm kubectl kubernetes-cni --downloadonly --downloaddir=/root/rpmsource
在安装的时候配置一个本地源。
下载kubernetes镜像
kubernetes一些服务是运行在Docker中的,所以我们需要提前下载好依赖的镜像到本地,然后Push到我们在上文中说到的Registry2.io中images=(gcr.io/google_containers/kube-proxy-amd64:v1.4.5 gcr.io/google_containers/kube-apiserver-amd64:v1.4.5 gcr.io/google_containers/kube-scheduler-amd64:v1.4.5 gcr.io/google_containers/kube-controller-manager-amd64:v1.4.5 gcr.io/google_containers/kube-discovery-amd64:1.0 gcr.io/google_containers/kubedns-amd64:1.7 gcr.io/google_containers/exechealthz-amd64:1.1 gcr.io/google_containers/kube-dnsmasq-amd64:1.3 gcr.io/google_containers/pause-amd64:3.0 gcr.io/google_containers/etcd-amd64:2.2.5 weaveworks/weave-npc:1.7.2 weaveworks/weave-kube:1.7.2 weaveworks/scope:0.17.1 weaveworks/weaveexec:1.6.1) for imageName in ${images[@]} ; do docker pull $imageName localName=registry2.io/${imageName/gcr.io\//} docker tag $imageName $localName docker push $localName echo $localName done
注意你要安装的版本号,在用的时候同样的方法pull下来再把tag改回去。
将所有下载好的资源上传到云主机上,并生成一个新的快照做为以后创建Kubernetes集群主机的基础系统!
Kubernetes初始化
现在可以使用Kubernetes的快照创建三台云主机,一台Master,其余的做为Worker,如图注意网段不要跟Kubernetes的冲突,Kubernetes默认是10,这里改为100!
按照官方文档,安装之后,在Master上做init操作
kubeadm init --use-kubernetes-version=v1.4.5
需要注意的是一定要等所有的pods都处于Running状态再进行一步操作,比如安装Web UI等
另外需要注意的一点是一定要按照顺序操作,先添加一台子结点再初始化网络,反之始化网络时总是失败,其它的子结点可以在后序慢慢添加。
组件安装
Web UI安装参考http://kubernetes.io/docs/user-guide/ui/ ,一条Kubectl命令搞定
配置heapster,支持图形展示cpu、内存等数据
https://github.com/kubernetes/heapster/blob/master/docs/influxdb.md
Weave Scope
一个图形化的k8s所有资源的拓扑、pods依赖展现等
安装参考,很简单,参考https://www.weave.works/docs/scope/latest/installing/
常用操作
记住,有了Kubernetes就不要再想着直接操作Docker了,大多数操作基本都被封装在了Kubectl命令中了,Kubect的常用命令大家在网上搜索一下,这里就不一一列举了,只说几个非常有用的操作,kubectl exec pod_id_xxx date 在PODS中运行命令
kubectl exec pod_id_xxx -it /bin/sh 进入PODS
kubectl delete -f xxx.yml 删除资源
kubectl apply -f xxx.yml 更新、修改资源,没有的话会创建,所以可以直接使用apply,如果失败尝试删除再create!
kubectl create -f xxx.yml 创建资源
kubectl get po --all-namespaces 所出所有pods资源
到此我们的基本条件都准备好了,下文将开始做运行测试,敬请期待。
相关文章推荐
- Openstack+Kubernetes+Docker微服务实践之路--Kubernetes
- Openstack+Kubernetes+Docker微服务实践之路--Docker和Registry2
- Openstack+Kubernetes+Docker微服务实践之路--服务发布
- Openstack+Kubernetes+Docker微服务实践之路--RPC
- Openstack+Kubernetes+Docker微服务实践之路--弹性扩容
- Openstack+Kubernetes+Docker微服务实践之路--弹性扩容
- Openstack+Kubernetes+Docker微服务实践之路--RPC
- Openstack+Kubernetes+Docker微服务实践之路--选型
- Openstack+Kubernetes+Docker微服务实践之路--基础设施
- Openstack+Kubernetes+Docker微服务实践
- 容器云最佳实践:Docker、微服务、应用容器化之Kubernetes实践
- Openstack+Kubernetes+Docker微服务
- 在Docker和Kubernetes上运行MongoDB微服务
- CoreOS实践指南(七):Docker容器管理服务
- Kubernetes微服务架构应用实践
- 在Docker和Kubernetes上运行MongoDB微服务
- 基于docker、kubernetes部署openstack到atomic系统上
- 云计算之openstack(N版)keystone镜像服务最佳实践
- CI Weekly #3 | 关于微服务、Docker 实践与 DevOps 指南
- 基于kubernetes的docker集群实践