# 安装kubelet kubeadm kubectl
https://kubernetes.io/zh-cn/docs/setup/production-environment/tools/kubeadm/install-kubeadm/
apt-get update && apt-get install -y apt-transport-https
curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add -
cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
EOF
apt-get update
apt-get install -y kubelet kubeadm kubectl
## 另外,你也可以指定版本安装
## apt-get install kubectl=1.21.3-00 kubelet=1.21.3-00 kubeadm=1.21.3-00
# minikube
# 安装
minikube: https://minikube.sigs.k8s.io/docs/start
sudo pacman -S nimikube
# 启动
第一次启动
minikube start --driver=virtualbox /
--registry-mirror=https://registry.docker-cn.com
minikube start --vm-driver=virtualbox /
--image-mirror-country=cn /
--image-repository=registry.cn-hangzhou.aliyuncs.com/google_containers /
--iso-url=https://kubernetes.oss-cn-hangzhou.aliyuncs.com/minikube/iso/minikube-v1.7.3.iso /
--registry-mirror=https://reg-mirror.qiniu.com
--vm-driver
如果不写会自动检测,可选值 virtualbox, vmwarefusion, hyperv, vmware--image-mirror-country
需要使用的镜像镜像的国家/地区代码。留空以使用全球代码。对于中国大陆用户,请将其设置为 cn。--image-repository
用来拉取 Kubernetes 集群所需镜像的仓库--iso-url
下载 minikube 虚机安装所需的 iso 文件--registry-mirror docker registry
的镜像源,集群安装后拉取镜像加速用,可以使用其它加速器地址
这里的虚机配置对应的选项: --cpu=2 --memory='2000mb --disk-size='20000m'
preloaded-images-k8s-v1-v1.17.3-docker-overlay2.tar.lz4: https://storage.googleapis.com/minikube-preloaded-volume-tarballs/preloaded-images-k8s-v1-v1.17.3-docker-overlay2.tar.lz4
之后启动可以这样就可以
minikube start --image-mirror-country=cn --registry-mirror=https://registry.docker-cn.com
## or
minikube start --vm-driver=virtualbox --image-mirror-country=cn --registry-mirror=https://reg-mirror.qiniu.com
minikube start --image-mirror-country='cn' --image-repository='registry.cn-hangzhou.aliyuncs.com/google_containers'
minikube start --image-repository=registry.cn-hangzhou.aliyuncs.com/google_containers --image-mirror-country=cn --extra-config=kubelet.cgroup-driver=systemd
# 图形化管理界面
minikube dashboard
# 外网访问
minikube dashboard --url
-----
* 正在验证 dashboard 运行情况 ...
* Launching proxy ...
* 正在验证 proxy 运行状况 ...
http://127.0.0.1:40593/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/
开启端口访问
kubectl proxy --port=40593 --address='0.0.0.0' --accept-hosts='^.*' &
访问,假如你的远程ip地址是:192.168.3.10
http://192.168.3.10:40593/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/
# master、node、pod、service、关系
master管理node
node中存放pod
pod是一组(相似的)容器
service去关联 pod ,也就是pod和pod之间沟通的桥梁
# node
# pod
进入一个pod
kubectl exec -it busybox-pod sh
# service
将一个pod暴露到公网IP上
kubectl expose pods nginx-pod --type=NodePort #metadata.name = nginx-pod
访问:node_Ip:expose_Ip //http://192.168.99.105:30696
# Deployments
更新服务
当前:nginx:1.0
# 创建
kubectl create -f deployment-nginx.yml
# 查看
kubectl get deployment
kubectl get deployment -o wide
升级为:nginx:2.0
kubectl set image deployment nginx-deployment nginx=nginx:2.0
nginx-deployment
为 deployment-nginx.yml
文件定义的,不是文件名
回滚:nginx:1.0
kubectl rollout undo deployment nginx-deployemnt
查看历史回滚记录
kubectl rollout history deployment nginx-deployment
# 暴露端口
kubectl expose deployment nginx-deplyment --type=NodePort
# 删除
kubectl delete services nginx-deployment
# K8s网络
# service
# 监控
curl -L git.io/scope -o /usr/local/bin/scope
sudo chmod +x /usr/local/bin/scope
scope launch ip地址