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