minikube安装
CentOS
kubectl官网 :https://kubernetes.io/docs/tasks/tools/install-kubectl/#install-kubectl-on-linux
minikube官网 :https://kubernetes.io/docs/tasks/tools/install-minikube/
安装kubectl
# 01 下载[这边我给大家下载好了,在网盘kubectl&minikube中,大家上传到自己的centos7机器中。]
链接:https://pan.baidu.com/s/1Jen-cVxiTKEJKkstJW4Kow
提取码:enra
# 02 授权
chmod +x ./kubectl
# 03 添加到环境变量
sudo mv ./kubectl /usr/local/bin/kubectl
# 04 检查
kubectl version
安装minikube
# 01 下载[这边我给大家下载好了,在网盘kubectl&minikube中,大家上传到自己的centos7机器中。]
# 02 配置环境变量
sudo mv minikube-linux-amd64 minikube && chmod +x minikube && mv minikube /usr/local/bin/
# 03 检查
minikube version
使用minikube创建单节点的k8s
minikube start --vm-driver=none --image-repository=gcr.azk8s.cn/google-containers
QA:
这里大家可能拉取不到images
解决方法:
镜像名称 镜像版本号
gcr.azk8s.cn/google-containers/kube-proxy v1.16.2
gcr.azk8s.cn/google-containers/kube-scheduler v1.16.2
gcr.azk8s.cn/google-containers/kube-apiserver v1.16.2
gcr.azk8s.cn/google-containers/kube-controller-manager v1.16.2
gcr.azk8s.cn/google-containers/etcd 3.3.15-0
gcr.azk8s.cn/google-containers/coredns 1.6.2
gcr.azk8s.cn/google-containers/pause 3.1
拉取阿里云镜像:
举个例子(拉取kube-proxy镜像):
docker pull registry.cn-hangzhou.aliyuncs.com/snail-gao/k8s:kube-proxy
docker tag registry.cn-hangzhou.aliyuncs.com/snail-gao/k8s:kube-proxy gcr.azk8s.cn/google-containers/kube-proxy:v1.16.2
QA:
解决方法:
$ echo 1 > /proc/sys/net/bridge/bridge-nf-call-iptables
$ echo 1 > /proc/sys/net/bridge/bridge-nf-call-ip6tables
感受一下Kubernetes
既然已经通过Minikube搭建了单节点的Kubernetes,感受一些组件的存在以及操作
查看连接信息
kubectl config view
kubectl config get-contexts
kubectl cluster-info
体验Pod
(1)创建pod_nginx.yaml
apiVersion: v1
kind: Pod
metadata:
name: nginx
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx
ports:
- containerPort: 80
(2)根据pod_nginx.yaml文件创建pod
kubectl apply -f pod_nginx.yaml
(3)查看pod
kubectl get pods
kubectl get pods -o wide
kubectl describe pod nginx
(4)进入nginx容器
# kubectl进入
kubectl exec -it nginx bash
# 通过docker进入
minikube ssh
docker ps
docker exec -it containerid bash
(5)访问nginx,端口转发
# 若在minikube中,直接访问
# 若在物理主机上,要做端口转发
kubectl port-forward nginx 8080:80
(6)删除pod
kubectl delete -f pod_nginx.yaml
总结:
其实就是通过minikube创建一个虚拟机
这个虚拟机中安装好了单节点的K8S环境然后通过kubectl进行交互
# 创建K8S
minikube start
# 删除K8S
minikube delete
# 进入到K8S的机器中
minikube ssh
# 查看状态
minikube status
# 进入dashboard
minikube dashboard