为什么选择kubernetes呢?
当前,docker容器化技术已经被很多公司采用, 随着工信部正式宣布5G商用,边缘计算的大火,容器上云也成为必然,Kubernetes的目标是让部署容器化的应用简单并且高效,Kubernetes提供了应用部署,规划,更新,维护的一种机制,用于管理云平台中多个主机上的容器化的应用。kubernetes也随之受到了越来越多的关注,现在华为云、腾讯云、阿里云也都支持kubernetes集。
kubernete 有哪些好处?
1、极简了复杂系统的开发,只需要一个运维工程师,就可以管理整个公司系统的部署和运维
2、可以用为服务架构解决公司的复杂系统
3、可以快速的移植并部署
4、可以让你从容应对高并发, 大存储等应用,无需大动干戈,秩序简单扩容就可解决看似复杂的工程
第一步 我们先从部署一个kubernetes集群开始
一、 安装docker
sudo apt-get install docker-io
配置docker 国内镜像加速器
sudo vi /etc/docker/daemon.json
{
“registry-mirrors”: [“https://ef5sqd3o.mirror.aliyuncs.com”]
}
注:此地为我自己注册的阿里云docker 镜像地址
https://cr.console.aliyun.com/cn-beijing/instances/images
docker 代理配置
由于咱们的环境需要proxy.cmcc 代理上网,所以还要配置docker代理
sudo mkdir /etc/systemd/system/docker.service.d
docker http代理
vim /etc/systemd/system/docker.service.d/http-proxy.conf
[Service]
Environment=“HTTP_PROXY=http://proxy.cmcc:8080” “NO_PROXY=localhost,127.0.0.1”
docker https代理
vim /etc/systemd/system/docker.service.d/https-proxy.conf
[Service]
Environment=“HTTPS_PROXY=http://proxy.cmcc:8080” “NO_PROXY=localhost,127.0.0.1”
重启docker
systemctl daemon-reload
systemctl restart docker
docker info 查看更改是否生效
sudo docker run hello-world 测试是否成功
sudo docker images 查看hello-world镜像是否下载
二、 minikube 设置 (以1.14.0 版本为例)
提前下载好的k8s 1.14的包
kubernetes-client-linux-amd64.tar.gz
kubernetes-node-linux-amd64.tar.gz
kubernetes-server-linux-amd64.tar.gz
解压kubernetes-server-linux-amd64.tar.gz
ls server/bin
把镜像load到docker里
sudo docker load -i cloud-controller-manager.tar
sudo docker tag k8s.gcr.io/cloud-controller-manager.tar:v1.14.0 registry.cn-hangzhou.aliyuncs.com/google_containers/cloud-controller-manager:v1.14.0
依次对文件内kube-apiserver.tar,kube-controller-manager.tar,kube-proxy.tar,kube-scheduler.tar 执行上述两部操作
安装minikube
curl -Lo minikube http://kubernetes.oss-cn-hangzhou.aliyuncs.com/minikube/releases/v1.0.0/minikube-linux-amd64 && chmod +x minikube && sudo mv minikube /usr/local/bin/
sudo minikube start --vm-driver=none --registry-mirror=https://registry.docker-cn.com
–vm-driver:指定用的是什么虚拟机,如:virtualbox、xhyve 、kvm,none为不使用虚拟机
–registry-mirror:指定源地址
下面是启动过程总会遇到的一些错误 解决办法
Kubeadm、kubelet 两个无法下载,可以采用一下方法获取
1、 可以手动根据上面地址,在浏览器中下载,下载后执行以下命令
2、 解压kubernetes-node-linux-amd64.tar.gz ,再解压目录bin下有这两个文件
sudo cp kubeadm kubelet ~/.minikube/cache/v1.14.0
注:~/.minikube/cache/v1.14.0 目录会自动创建,
关闭代理
unset http_proxy
unset https_proxy
关闭swap
sudo swapoff -a
重启启动minikube
sudo minikube delete -p minikube
All-in-one 方式 会出现coredns 启动失败问题
原因:
https://github.com/coredns/coredns/blob/master/plugin/loop/README.md
解决方法:
修改 /etc/kubernetes/addons/coreDNS-configmap.yaml
把proxy 修改 8.8.8.8