配置K8S集群
这里简单的构建本地机器上允许的单节点K8S集群,以及如何访问允许在Google Kubernetes Engine(GKE)上的托管集群。
使用Minikube是允许Kubernetes集群最简单、最快捷的途径。Minikube是一个构建单节点集群的工具,对于测试Kubernetes和本地开发应用都非常有用。
下载客户端管理工具kubectl
curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.20.2/bin/linux/amd64/kubectl && chmod +x kubectl && sudo mv kubectl /usr/local/bin/
下载minikube
curl -Lo minikube https://kubernetes.oss-cn-hangzhou.aliyuncs.com/minikube/releases/v1.16.0/minikube-linux-amd64 && chmod +x minikube && sudo mv minikube /usr/local/bin/
下载成功后,启动minikube
然后启动失败,经过查询资料,说要在centos7里安装virtualBox
yum install VirtualBox
我是去官网下载在安装的
然后还是不行,提示说不能在root下使用
于是切换了另一个账户
发现还是不行,查资料说要把这个用户放在docker分组下,并赋予sudo权限
发现还是不行。第二次发现不行是因为输入docker ps也会报错
最后用了这个命令解决
sudo chmod 777 /var/run/docker.sock
docker ps也能正常显示,docker version也能正常显示
localhost.localdomain kubelet[3699]: E0201 14:49:51.902119 3699 pod_workers.go:191] Error syncing pod 48f97e50e81af0026f109308df9b73ea ("etcd-localhost.localdomain_kube-system(48f97e50e81af0026f109308df9b73ea)"), skipping: failed to "StartContainer" for "etcd" with CrashLoopBackOff: "back-off 1m20s restarting failed container=etcd pod=etcd-localhost.localdomain_kube-system(48f97e50e81af0026f109308df9b73ea)"
按照网上说的下载镜像,修改tag名
minikube start 还是失败
最后关机下班
第二天,重新启动,切换非root用户,然后minikube start 还是失败
想着先删除,minikube delete
然后再minikube start ,最后居然成功了
看打印出来的,并没有dashboard。所以要启用 dashboard 服务,这将让我们可以方便地通过界面管理 k8s 集群
如果启动失败了,可以关闭后刷新ip再来一次
# systemctl stop kubelet
# systemctl stop docker
# iptables --flush
# iptables -tnat --flush
# systemctl start kubelet
# systemctl start docker
这个地址一看就是k8s内部的,我们需要把他暴露到centos7里。别忘了关闭防火墙
kubectl proxy --port=8001 --accept-hosts='^.*' --address='192.168.56.102'
最后成功