kubernetes单机集群搭建
kubernetes单机集群搭建
前提条件
一台服务器或虚拟机;
已安装 CentOS7 系统;
网络已配置好且可访问互联网;
已安装 docker。
参考连接
http://docs.kubernetes.org.cn/227.html
https://kubernetes.io/zh/docs/home/
安装kubectl
curl方式安装:
1、下载最新发行版
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
2、下载 kubectl 校验和文件并验证可执行文件
curl -LO "https://dl.k8s.io/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl.sha256"
echo "$(cat kubectl.sha256) kubectl" | sha256sum --check
3、安装 kubectl
install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
4、执行测试
kubectl version --client --output=yaml
kubectl 的可选配置和插件
安装 bash-completion
执行安装:
yum install bash-completion
资源加载:
source /usr/share/bash-completion/bash_completion
启动功能(全局):
kubectl completion bash | sudo tee /etc/bash_completion.d/kubectl > /dev/null
安装 kubectl convert
1、下载最新发行版
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl-convert"
2、下载 kubectl-convert 校验和文件并验证可执行文件
curl -LO "https://dl.k8s.io/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl-convert.sha256"
echo "$(cat kubectl-convert.sha256) kubectl-convert" | sha256sum --check
3、安装 kubectl-convert
install -o root -g root -m 0755 kubectl-convert /usr/local/bin/kubectl-convert
4、安装验证(没有报错即可)
kubectl convert --help
安装 minikube
1、安装
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
install minikube-linux-amd64 /usr/local/bin/minikube
2、启动
minikube start
启动过程异常处理:
1、X Exiting due to RSRC_INSUFFICIENT_CORES: Requested cpu count 2 is greater than the available cpus of 1
原因及方法:虚拟机配置低了,适当调大虚拟机的内存和处理器配置
2、X Exiting due to DRV_AS_ROOT: The "docker" driver should not be used with root privileges
原因及方法:minikube 与 docker 存在冲突,强制执行并使用阿里云镜像 minikube start --force --driver=docker --image-mirror-country=cn --image-repository=registry.cn-hangzhou.aliyuncs.com/google_containers
3、集群交互
开启代理,虚拟机外可以通过 8081端口访问
kubectl proxy --address='0.0.0.0' --disable-filter=true
执行命令
minikube dashboard
执行结果会返回如下访问地址(已开通访问端口或关闭防火墙):
http://your_api_server_ip:8001/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/
your_api_server_ip 换成虚拟机的外部IP