K3s 安裝
https://k3s.io/
知識點參考 k8s
- 下載 k3s,保存到 /usr/local/bin
- 設置可執行權限
chmod a+x /usr/local/bin/k3s
- 啟動 server
(k3s server --docker &)
# Kubeconfig is written to /etc/rancher/k3s/k3s.yaml
sudo k3s kubectl get node
運行上面命令,會生成:/etc/rancher , 以及 /var/lib/rancher。
如果要重新安裝,刪除 /etc/rancher 文件夾即可。
指定使用 docker 容器, 否則使用 containerd!
- 啟動 agent
# On a different node run the below. NODE_TOKEN comes from /var/lib/rancher/k3s/server/node-token
# on your server
sudo k3s agent --server https://${外部訪問IP}:6443 --token ${NODE_TOKEN} --docker
6443是固定的端口。
本機安裝,這一步可以不啟動。
rancher 安裝
docker run -d --restart=unless-stopped -p 8480:80 -p 8443:443 rancher/rancher:latest
第一次訪問會要求設置密碼!
harbor 安裝
-
安裝 docker docker-compose .
-
wget https://storage.googleapis.com/harbor-releases/release-1.9.0/harbor-online-installer-v1.9.1.tgz
-
tar zxvf
-
vim harbor.yml 修改
hostname ,
http.port 端口號 ,
admin密碼:Didadi123
去除 https 節點。否則報錯。
docker 里不能有名稱叫 redis 的docker容器。 -
./install.sh
-
登錄 admin/Harbor12345
-
修改客戶端docker的配置文件,如Jenkins的: /etc/docker/daemon.json 添加: 設置 HTTP 登錄,推送。
"insecure-registries": [ "39.105.121.154:8280" ]
-
修改 harbor 配置文件的 hostname:
docker-compose stop vi harbor.yml ./prepare ./install
https://rancher.com/docs/k3s/latest/en/installation/private-registry
客戶端推送:
1. docker login -u admin -p Harbor12345 harborIP:harborPort
2. docker tag 本地鏡像:版本 harborIP:harborPort/harbor項目/名稱:版本 (格式是必須這樣的。)
3. docker push harborIP:harborPort/harbor項目/名稱:版本
4. docker pull harborIP:harborPort/harbor項目/名稱:版本
racher 中添加 k3s 及基本設置
添加k3s
- 登錄 rancher server:8480
- 右下角:切換簡體中文
- Global --> Add Cluster --> import an existing cluster
- 填寫名字: k3s , create , 到達界面 Add Cluster - Import
- 選最后一行的命令:類似於 curl --insecure -sfL https://192.168.5.10:8443/v3/import/52hmtkfq26f52fkn969jg7dbmrmxl6f27fkgcn8dgckb5tq4j5chm7.yaml | kubectl apply -f -
注意:
因為是k3s 所以要在 kubectl 前面添加 k3s
- 等一會, k3s 就會顯示啟動了。
創建命名空間
在rancher添加的 k3s Default 項目下創建命名空間。 如果命令行創建的命名空間,需要在k3s里把命名空間轉移到 Default 項目 中。
創建 pv, pvc
可以用命令行和rancher兩種方式創建 Pv,Pvc
由 Rancher 可知:
Pv和存儲類是獨立於命令空間之外的。不能指定命名空間。
輔助工具自動生成,創建 Pv,Pvc
rancher 方式操作 Pv,Pvc
- 選擇添加的 k3s 集群
- 存儲 --> 持久卷 --> 添加PV
- 選擇 k3s , default , 點 資源 --> 工作負載 --> pvc , 添加 pvc
本地應用手動部署到Harbor
FROM iamnewsea/jre:1.8
WORKDIR /app
ENV jar_name admin-api-1.0.1.jar
ADD target/${jar_name} ${jar_name}
ADD libs-corp libs
ENV JAVA_OPTS "-Xmx500m"
ENV APP_ARG "--spring.profiles.active=server --server.dev=true"
CMD java ${JAVA_OPTS} -Dloader.path=libs -jar ${jar_name} ${APP_ARG}
docker build -t udi-note:808/library/admin-api:2020.9.1 .
docker push udi-note:808/library/admin-api:2020.9.1
問題
- 如果 k3s 啟動時不添加 --docker ,則默認使用 containerd 容器。如何配置 containerd 的鏡像為 harbor ?
- 使用命令行配置 Nfs 的Pv,Pvc,啟動Deployment失敗?