场景:在本地快速调试学习k8s及docker
国内镜像下载:
https://javapub.blog.csdn.net/article/details/126444981
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta5/aio/deploy/recommended.yaml
kubectl create clusterrolebinding kubernetes-dashboard --clusterrole=cluster-admin --serviceaccount=kubernetes-dashboard:kubernetes-dashboard
kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | grep admin-user | awk '{print $1}')
kubectl proxy
浏览器打开:
http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/#/loginsss
输入token登录
kubectl create deployment nginx-app --image=nginx --replicas=2
--image=nginx
拉取最新nginx
--replicas=2 设置启动两个容器
*还可以使用xxx.yaml文件的方式创建
kubectl get pod -o wide
kubectl expose pods podName --type=NodePort --name nginx-test
podName
第9,查询到的name
*还可以通过LoadBalancer方式暴露服务,有可能一直处于pending状态,外部无法访问。自建的 Kubernetes 集群暴露让外网访问,目前只能使用 NodePort 或 Ingress 等的方法进行服务暴露,或者使用MetalLB。
*端口32023查看方式,也可在yaml文件中更改
kubectl get deployment,svc -o wide
—一般
创建一个pod
kubectl apply -f pod.yaml
kubectl get pod 查看pod,运行pod失败
删除一个pod
kubectl delete pod web-server-7b84dd448c-99chq
查看一个pod实例信息
kubectl describe pod web-server-7b
查看deployment–你创建的pod就属于某个deployment
kubectl get deployment
删除一个deployment,其实就是删除了你的服务,一个服务下有多个pod,直接删除会自动补充
kubectl delete deployment web-server
创建一个secret
kubectl create secret generic izorro-docker-io --from-file .\1234.txt
创建一个dockerconfigjson 用于
kubectl create secret docker-registry myregistrykey --docker-server=hub.docker.io --docker-username=xxxx --docker-password=xxxxx [email protected]
删除一个secret
kubectl delete secret myregistrykey
—系统信息
#查看集群信息
kubectl cluster-info
#查看集群版本
kubectl version
#查看集群api版本
kubectl api-versions
—命名空间 namespaces
1,查看所有
kubectl get namespace
2,获取某一个namespace下的pod
kubectl get pods -n kube-system
阿里云容器:
https://github.com/AliyunContainerService/k8s-for-docker-desktop