k8s的精简版k3s安装
官网https://www.rancher.cn/k3s/k3s 文档https://docs.rancher.cn/k3s/安装curl -sfL https://get.k3s.io | sh -国内用户请用curl -sfL http://rancher-mirror.cnrancher.com/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -安
官网
k3s 文档
安装
curl -sfL https://get.k3s.io | sh -
国内用户请用
curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -
如果你需要更改端口号,或者 更改安装目录
curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | \
INSTALL_K3S_MIRROR=cn \
INSTALL_K3S_EXEC="--node-ip=192.168.2.11 --kubelet-arg=max-pods=200 --data-dir=/www/k3s-data --kube-apiserver-arg=service-node-port-range=1-65535" \
K3S_NODE_NAME=fox001 \
K3S_TOKEN=fox456 sh -s - \
--system-default-registry=registry.cn-hangzhou.aliyuncs.com --bind-address=0.0.0.0
说明
–node-ip 指定节点的内部ip
–node-external-ip 指定节点的外部 ip
–kubelet-arg=max-pods=200 限制节点启动的Pod数量,默认110
–data-dir=/www/k3s-data 指定 K3S 数据目录
–kube-apiserver-arg=service-node-port-range=1-65535 设置 NodePort 服务范围
K3S_NODE_NAME 节点名称
–system-default-registry 指定 K3s 的系统镜像从国内的阿里云镜像仓库(registry.cn-hangzhou.aliyuncs.com) 去拉取
INSTALL_K3S_MIRROR 指定 K3s 的二进制文件从国内的阿里云对象存储上去拉取
K3S_TOKEN 用于将 server 或 agent 加入集群的共享 secret
如果你已经安装过docker,可以在docker中安装,如果不想用docker方式请略过
curl -sfL http://rancher-mirror.cnrancher.com/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn INSTALL_K3S_EXEC="server --docker" sh -
安装配置
K3s Server 配置参考
https://docs.rancher.cn/docs/k3s/installation/install-options/server-config/_index
K3s Agent配置参考
https://docs.rancher.cn/docs/k3s/installation/install-options/agent-config/_index
部署 kuboard 集群管理界面 (推荐)
官网
https://kuboard.cn/
https://kuboard.cn/install/v3/install-in-k8s.html
安装
#国外
kubectl apply -f https://addons.kuboard.cn/kuboard/kuboard-v3.yaml
# 您也可以使用下面的指令,唯一的区别是,该指令使用华为云的镜像仓库替代 docker hub 分发 Kuboard 所需要的镜像
# 华为
kubectl apply -f https://addons.kuboard.cn/kuboard/kuboard-v3-swr.yaml
查看是否安装成功
watch kubectl get pods -n kuboard
成功后的结果
NAME READY STATUS RESTARTS AGE
kuboard-agent-2-65bc84c86c-r7tc4 1/1 Running 2 28s
kuboard-agent-78d594567-cgfp4 1/1 Running 2 28s
kuboard-etcd-fh9rp 1/1 Running 0 67s
kuboard-etcd-nrtkr 1/1 Running 0 67s
kuboard-etcd-ader3 1/1 Running 0 67s
kuboard-v3-645bdffbf6-sbdxb 1/1 Running 0 67s
访问 Kuboard
在浏览器中打开链接 http://your-node-ip-address:30080
输入初始用户名和密码,并登录
用户名: admin
密码: Kuboard123
命令使用
安装完成后,直接使用 kubectl xxx
跟 k8s 命令一样
如果发现 kubectl xxx
命令不存在那么要做别名映射 或者 软连接
正常情况下,都不需要 别名映射
别名映射
alias kubectl='k3s kubectl'
软连接
ln -sf /usr/bin/kubectl /usr/local/bin/k3s
查看nodes
kubectl get nodes
K3S节点修改节点POD数量
vim /etc/systemd/system/k3s.service
假设要改变POD数量为 900
,那么kubelet-arg
参数为--kubelet-arg max-pods=900
修改ExecStart
后内容
ExecStart=/usr/local/bin/k3s \
server \
--kube-apiserver-arg max-pods=900
更新配置,和重启
#更新配置
systemctl daemon-reload
#重启
systemctl restart k3s
K3S修改端口范围
https://docs.rancher.cn/docs/k3s/installation/install-options/server-config/_index/#%E7%BD%91%E7%BB%9C
参数为 --service-node-port-range=30000-32767
,其中30000-32767
为默认端口范围
编辑文件vim /etc/systemd/system/k3s.service
ExecStart=/usr/local/bin/k3s \
server \
--kube-apiserver-arg service-node-port-range=1-65535
或者执行命令
sed -i 's#server.*#server \\ \n--kube-apiserver-arg service-node-port-range=80-65535 \n\n#g' /etc/systemd/system/k3s.service
#查看是否自动 添加
cat /etc/systemd/system/k3s.service
更新配置,和重启
#更新配置
systemctl daemon-reload
#重启
systemctl restart k3s
k3s私有镜像仓库
官方地址
https://docs.rancher.cn/docs/k3s/installation/private-registry/_index
vim /etc/rancher/k3s/registries.yaml
mirrors:
foxwho.com:
endpoint:
- "https://foxwho.com:5000"
"10.0.0.254:30500":
endpoint:
- "http://10.0.0.254:30500"
更新配置,和重启
#更新配置
systemctl daemon-reload
#重启
systemctl restart k3s
更改k3s 安装目录
/var/lib/kubelet
/var/lib/rancher
/run/k3s
安装k3s前 执行
mkdir -p /k8s/lib-kubelet && \
ln -s /k8s/lib-kubelet /var/lib/kubelet && \
mkdir -p /k8s/lib-rancher && \
ln -s /k8s/lib-rancher /var/lib/rancher && \
mkdir -p /k8s/k3s-run && \
ln -s /k8s/k3s-run /run/k3s
/k8s/lib-kubelet/ 为自行定义的目录
/k8s/lib-rancher/ 为自行定义的目录
/k8s/k3s-run/ 为自行定义的目录
重新安装k3s时 执行
systemctl stop k3s && \
rm -rf /k8s/lib-kubelet/* && \
rm -rf /k8s/lib-rancher/* && \
rm -rf /k8s/k3s-run/*
已安装的 k3s 迁移目录
先停止k3s,禁用自动启动
systemctl stop k3s
systemctl disable k3s
接着,重启服务器
reboot
服务器启动成功后,执行如下
mv /var/lib/kubelet /k8s/lib-kubelet && \
ln -s /k8s/lib-kubelet /var/lib/kubelet && \
mv /var/lib/rancher /k8s/lib-rancher && \
ln -s /k8s/lib-rancher /var/lib/rancher && \
mv /run/k3s /k8s/k3s-run && \
ln -s /k8s/k3s-run /run/k3s
最后启动k3s,并设置自动启动
systemctl start k3s
systemctl enable k3s
其他普通用户可以使用 k8s 命令 kubectl等
那么设置 如下后,就可以使用kubectl
了
sudo chmod 644 /etc/rancher/k3s/k3s.yaml
部署 Kubernetes 仪表盘
GITHUB_URL=https://github.com/kubernetes/dashboard/releases
VERSION_KUBE_DASHBOARD=$(curl -w '%{url_effective}' -I -L -s -S ${GITHUB_URL}/latest -o /dev/null | sed -e 's|.*/||')
sudo k3s kubectl create -f https://raw.githubusercontent.com/kubernetes/dashboard/${VERSION_KUBE_DASHBOARD}/aio/deploy/recommended.yaml
仪表盘 RBAC 配置
重要: 本指南中创建的 admin-user 将在仪表板中拥有管理权限。
创建以下资源清单文件:
dashboard.admin-user.yml
apiVersion: v1
kind: ServiceAccount
metadata:
name: admin-user
namespace: kubernetes-dashboard
dashboard.admin-user-role.yml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: admin-user
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: admin-user
namespace: kubernetes-dashboard
部署admin-user
配置:
sudo k3s kubectl create -f dashboard.admin-user.yml -f dashboard.admin-user-role.yml
获得 Bearer Token
sudo k3s kubectl -n kubernetes-dashboard describe secret admin-user-token | grep '^token'
本地访问仪表板
要访问仪表板,你必须创建一个安全通道到你的 K3s 集群。
sudo k3s kubectl proxy
现在可以通过以下网址访问仪表盘:
- http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/
- 使用
admin-user
Bearer Token
Sign In
高级:远程访问仪表板
请参阅仪表盘文档。使用端口
转发来访问集群中的应用程序。
端口转发
:https://kubernetes.io/docs/tasks/access-application-cluster/port-forward-access-application-cluster/
更多推荐
所有评论(0)