k8s学习教程(一、初始配置)

image-20230115202715679

1 minikube 启动过程

在启动之前,需要下载docker!!!

1.1 minikube start

启动指令

1
2
3
4
5
# 启动指令
# 先设置一下k8s版本 注意:大坑 不明原因
sudo usermod -aG docker lucky && newgrp docker
minikube config set kubernetes-version v1.23.3
minikube start --image-mirror-country='cn'

需要切换一个用户 同时需要用ssh工具重新连接这个新用户,不可以su 新用户,这样才可以启动dashboard

1
2
3
minikube dashboard
# 设置minikube dashboard的ip和端口为本机,以便外网访问 --address 为 ip
kubectl proxy --port=7999 --address='202.120.87.115' --accept-hosts='^.*' &

1.2 minikube stop

1
2
3
minikube stop 
minikube delete
minikube start

2 minikube 集群部署初体验

2.1 kubectl

常用指令

1
2
3
4
5
6
7
8
# 通过 yaml配置文件 部署nginx集群
kubectl apply -f nginx.yaml
# 通过created方式创建并部署nginx集群
kubectl create deployment nginx --image=nginx
# 以nodeport方式暴露端口 80 -> 8080
kubectl expose deployment nginx --port=8080 --target-port=80 --type="NodePort"
# port-forward 端口转发且允许任意ip访问,即可在别处访问 8080 -> 8080
kubectl port-forward --address 0.0.0.0 -n default service/nginx 8080:8080

nginx.yaml文件内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
spec:
selector:
matchLabels:
app: nginx
replicas: 2
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.7.9
ports:
- containerPort: 80

查看pod和service指令

1
2
3
4
5
6
kubectl get pods
kubectl get services
# 查看pod详细信息
kubectl describe deployment nginx
#查看service相信信息
kubectl describe service nginx