为什么选择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

kubernetes安装配置 kubernetes 安装推荐_重启


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:指定源地址

下面是启动过程总会遇到的一些错误 解决办法

kubernetes安装配置 kubernetes 安装推荐_docker_02

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

kubernetes安装配置 kubernetes 安装推荐_kubernetes安装配置_03

All-in-one 方式 会出现coredns 启动失败问题

kubernetes安装配置 kubernetes 安装推荐_kubernetes安装配置_04


原因:

https://github.com/coredns/coredns/blob/master/plugin/loop/README.md

解决方法:

修改 /etc/kubernetes/addons/coreDNS-configmap.yaml

把proxy 修改 8.8.8.8