k3s和rancher的初步使用
k3s和rancher初步使用
安装k3s
单机版安装
官方版国内安装
curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -
kubectl get pods –A //查看所有pod
状态是running是正常的,这里是有问题的,这是因为无法拉取镜像的问题,建议用下面的安装方式
国内安装k3s
curl –sfL \
https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | \
INSTALL_K3S_MIRROR=cn sh -s - \
--system-default-registry "registry.cn-hangzhou.aliyuncs.com"
修改镜像源
镜像的拉取默认从dockerhub拉取,修改镜像源
cat >> /etc/rancher/k3s/registries.yaml <<EOF
mirrors:
"docker.io":
endpoint:
- " https://docker.rainbond.cc" # 可根据需求替换 mirror 站点
- "https://registry-1.docker.io"
EOF
systemctl restart k3s
安装rancher
国内安装rancher
rancher我试了很多版本,有的版本可以正常运行有的版本不行,有点玄学
docker run -d --restart=unless-stopped \
-p 80:80 -p 443:443 \
--privileged \
-e CATTLE_SYSTEM_DEFAULT_REGISTRY=registry.cn-hangzhou.aliyuncs.com \
--name rancher \
registry.cn-hangzhou.aliyuncs.com/rancher/rancher:v2.8.4
导入其他k3s
复制该命令执行
部署一个应用
副本可以选多个,需要配置下网络,这边选node port,端口填大于30000
这里我对外的端口填的很大,是因为默认nodeip端口范围是30000到32767
修改这个范围方法如下:
vi /etc/systemd/system/k3s.service
ExecStart=/usr/local/bin/k3s \
server \
--kube-apiserver-arg service-node-port-range=1-65535
改完后重启下k3s,但是端口无法改成80,因为80和443已经被k3s占用了。
修改配置
直接点击编辑,改成两个副本
这样就会生成两个pod,自动的做负载均衡
可以在service看到对外开放的端口
注: 1.Kubernetes有三种ip
同Service下的pod可以直接根据PodIP相互通信
不同Service下的pod在集群间pod通信要借助于 cluster ip
pod和集群外通信,要借助于node ip
2.直接删除pod是删不掉的,还会自动生成,需要删除对应的deployment才能删除
License:
CC BY 4.0