文章

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

174.0.png 状态是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

174.1.png

174.2.png

导入其他k3s 174.3.png

174.4.png

174.5.png 复制该命令执行 174.6.png

部署一个应用

174.7.png

副本可以选多个,需要配置下网络,这边选node port,端口填大于30000

174.8.png

这里我对外的端口填的很大,是因为默认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占用了。

修改配置

直接点击编辑,改成两个副本

174.9.png

这样就会生成两个pod,自动的做负载均衡

174.10.png

可以在service看到对外开放的端口

174.11.png

注: 1.Kubernetes有三种ip
同Service下的pod可以直接根据PodIP相互通信
不同Service下的pod在集群间pod通信要借助于 cluster ip
pod和集群外通信,要借助于node ip
2.直接删除pod是删不掉的,还会自动生成,需要删除对应的deployment才能删除

License:  CC BY 4.0