centos7系统搭建k8s(minikube)
1.官网安装教程(选择RPM package)下载rpm安装包:curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-latest.aarch64.rpm安装:sudo rpm -ivh minikube-latest.aarch64.rpm新增启动账号(minikube不能通过root账号启动,mini
1. 官网安装教程(选择RPM package)
-
下载rpm安装包: curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-latest.aarch64.rpm
-
安装: sudo rpm -ivh minikube-latest.aarch64.rpm
-
新增启动账号(minikube不能通过root账号启动,minikube相关操作都用这个新增的用户): useradd -g docker -G wheel john
-g:默认组(用户登录时就是这个组) -G: 其他群组 wheel:sudo组(加到这个组里才会有sudo权限)
为新用户设置密码: passwd john -
切换到新增用户并启动minikube: su john & nohup /usr/bin/minikube delete && /usr/bin/minikube start --registry-mirror="https://registry.docker-cn.com" --insecure-registry="外网ip:5000" 2>&1 &
docker registry和minikube在同一台服务器上,但是minikube无法通过内网拉取私有仓库镜像 -
守护进程形式启动控制台: nohup minikube dashboard 2>&1 &
需要注意的是,minikube容器如果关闭的话,直接通过docker start minikube启动容器的话,
执行minikube dashboard会报错。必须要通过minikube start启动k8s集群,才能通过minikube dashboard启动控制台 -
守护进程形式创建代理访问minikube控制台: nohup /usr/local/bin/kubectl proxy --port=45396--address='内网ip' --accept-hosts='^.*' 2>&1 &
查看nohup日志信息(包含启动时访问连接) cat /home/john/nohup.out
控制台访问链接: http://外网ip:45396/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/#/node?namespace=default -
新建部署: kubectl create deployment k8s-nginx --image=nginx:1.10
-
新建服务: kubectl expose deployment/k8s-nginx --type=NodePort --port=8080
-
待研究 -- k8s暴露容器服务给外网访问
-
待研究 -- ingress
-
控制台示例,可以查看并在界面操作deployments,pods,services
2. k8s核心概念
- 节点(master): 中控节点,负责管控整个集群
- 节点(node): 工作节点,运行应用的节点,可以理解为机器(虚拟机或者物理机)。
- pod: 逻辑主机,可以结合docker容器来理解,包含一个应用正常运行的一整套环境,一个pod对应一个应用实例。
- 部署(deployment): 一个应用的部署节点,负责创建和更新应用实例,部署后会生成对应的一个或多个pod,如果pod被删除或者down调,系统会根据配置自动生成新pod。deploy也是合法的关键字
- 服务(service): 一组pod逻辑集,暴露实例给集群外部访问,服务类型有ClusterIP,NodePort,LoadBalancer,or ExternalName。Default is 'ClusterIP'
- 代理: 通过代理允许外部访问集群内部资源
3. 常用minikube命令
-
minikube start 启动k8s集群
-
minikube dashboard 启动控制台
-
minikube version 查看版本号
-
minikube pause 暂停集群
-
minikube stop 停止集群
-
minikube config set memory 16384 配置集群内存
-
minikube addons list 查看已安装的附加服务
-
minikube start -p aged --kubernetes-version=v1.16.1 在老版本k8s上运行集群
-
minikube delete --all 删除所有的minikube搭建的k8s集群
-
minikube kubectl version 查看kubectl版本号
如果想直接用kubctl 需要把kubectl考的系统path路径下如/usr/local/bin目录下
find / -name kubectl
cp /var/lib/docker/volumes/minikube/_data/lib/minikube/binaries/v1.20.0/kubectl /usr/local/bin/kubectl -
更多命令查看minikube --help ,查看子选项使用方式可以对子选项使用--help,如minikube addons --help
4. 常用kubectl命令
- kubectl cluster-info 查看k8s集群信息
- kubectl get nodes/pods/deployments/services 查看所有节点/pod/部署/服务 (资源单复数都可以: 如 node和nodes都是合法的)
- kubectl describe nodes/deployments/services 查看节点/pod/部署/服务详细信息 (资源单复数都可以: 如 node和nodes都是合法的)
- kubectl create deployment k8s-nginx --image=nginx:1.10 创建一个部署
kubectl expose deployment/k8s-nginx --type=NodePort --port=8080 创建一个服务通过节点端口的形式暴露应用
minikube service hello-minikube 启动一个web应用
kubectl port-forward service/hello-minikube 7080:8080 通过端口映射把实例暴露到本地端口可以通过http://localhost:7080/访问 - kubectl create deployment balanced --image=nginx:1.10 创建一个部署
kubectl expose deployment/balanced --type=LoadBalancer --port=8080 创建一个服务通过负责均衡的形式暴露应用
minikube tunnel 创建负载均衡协调器 - /usr/local/bin/kubectl proxy 创建代理
- 更多命令查看 kubectl --help 查看子选项使用方式可以对子选项使用--help,如kubectl create --help,kubectl create deployment --help
更多推荐
所有评论(0)