【云原生之kubernetes实战】在k8s环境下部署Heimdall导航页
一、Heimdall介绍
Heimdall可以作为所有 Web 应用程序的仪表板,可以用作部署个人网页导航首页。
二、检查本地系统环境
1.检查系统版本
[root@k8s-master ~]# cat /etc/os-release
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"
CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"
2.查看集群节点系统内核版本
[root@k8s-master ~]# uname -r
3.10.0-957.el7.x86_64
三、检查k8s集群状态
1.检查k8s集群工作节点状态
[root@k8s-master ~]# kubectl get nodes -owide
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
k8s-master Ready control-plane,master 134d v1.23.1 192.168.3.201 <none> CentOS Linux 7 (Core) 3.10.0-957.el7.x86_64 containerd://1.5.11
k8s-node01 Ready <none> 134d v1.23.1 192.168.3.202 <none> CentOS Linux 7 (Core) 3.10.0-957.el7.x86_64 containerd://1.6.6
k8s-node02 Ready <none> 134d v1.23.1 192.168.3.203 <none> CentOS Linux 7 (Core) 3.10.0-957.el7.x86_64 containerd://1.6.6
2.检查系统pod状态
[root@k8s-master ~]# kubectl get pods -n kube-system
NAME READY STATUS RESTARTS AGE
calico-kube-controllers-7bc6547ffb-2nf66 1/1 Running 4 (3m10s ago) 134d
calico-node-8c4pn 1/1 Running 4 (3m39s ago) 134d
calico-node-f28qq 1/1 Running 4 (3m30s ago) 134d
calico-node-wmc2j 1/1 Running 4 (3m9s ago) 134d
coredns-6d8c4cb4d-6gm4x 1/1 Running 4 (3m10s ago) 134d
coredns-6d8c4cb4d-7vxlz 1/1 Running 4 (3m10s ago) 134d
etcd-k8s-master 1/1 Running 4 (3m10s ago) 134d
kube-apiserver-k8s-master 1/1 Running 4 (3m10s ago) 134d
kube-controller-manager-k8s-master 1/1 Running 4 (3m10s ago) 134d
kube-proxy-8dfw8 1/1 Running 4 (3m10s ago) 134d
kube-proxy-ghzrv 1/1 Running 4 (3m30s ago) 134d
kube-proxy-j867z 1/1 Running 4 (3m39s ago) 134d
kube-scheduler-k8s-master 1/1 Running 4 (3m10s ago) 134d
四、编辑heimdall.yaml文件
[root@k8s-master heimdall]# cat heimdall.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: heimdall
name: myweb
spec:
replicas: 2
selector:
matchLabels:
app: heimdall
template:
metadata:
labels:
app: heimdall
spec:
volumes:
- name: conf
hostPath:
path: /data/heimdall/config
containers: # 定义容器部分
- image: linuxserver/heimdall:latest
name: myweb
ports:
- name: web
protocol: "TCP"
containerPort: 80
# - name : 443
# protocol: "TCP"
# containerPort: 443
env:
- name: TZ
value: "Asia/Shanghai"
- name: PUID
value: "1000"
- name: PGID
value: "1000"
resources:
requests:
cpu: 0.5
memory: 128Mi
limits:
cpu: 0.6
memory: 512Mi
volumeMounts:
- name: conf
mountPath: /config
---
apiVersion: v1
kind: Service
metadata:
name: myweb
spec:
ports:
- port: 80
nodePort: 30012
selector:
app: heimdall
type: NodePort
五、部署Heimdall
1.应用heimdall.yaml文件
[root@k8s-master heimdall]# kubectl apply -f heimdall.yaml
deployment.apps/myweb configured
service/myweb unchanged
2.查看pod状态
[root@k8s-master heimdall]# kubectl get pods
NAME READY STATUS RESTARTS AGE
my-mysql-9b877f47-nqf5f 1/1 Running 2 (81m ago) 4d5h
myweb-5b5fc7857b-9gbqt 1/1 Running 0 94s
myweb-5b5fc7857b-kpwd9 1/1 Running 0 111s
3.查看service状态
[root@k8s-master heimdall]# kubectl get service
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 134d
my-db NodePort 10.98.200.79 <none> 3306:30011/TCP 4d5h
myweb NodePort 10.109.157.210 <none> 80:30012/TCP 35m
4.查看deployments详细信息
[root@k8s-master heimdall]# kubectl describe deployments.apps myweb
Name: myweb
Namespace: default
CreationTimestamp: Mon, 14 Nov 2022 16:52:19 +0800
Labels: app=heimdall
Annotations: deployment.kubernetes.io/revision: 2
Selector: app=heimdall
Replicas: 2 desired | 2 updated | 2 total | 2 available | 0 unavailable
StrategyType: RollingUpdate
MinReadySeconds: 0
RollingUpdateStrategy: 25% max unavailable, 25% max surge
Pod Template:
Labels: app=heimdall
Containers:
myweb:
Image: linuxserver/heimdall:latest
Port: 80/TCP
Host Port: 0/TCP
Limits:
cpu: 600m
memory: 512Mi
Requests:
cpu: 500m
memory: 128Mi
Environment:
TZ: Asia/Shanghai
PUID: 1000
PGID: 1000
Mounts:
/config from conf (rw)
Volumes:
conf:
Type: HostPath (bare host directory volume)
Path: /data/heimdall/config
HostPathType:
Conditions:
Type Status Reason
---- ------ ------
Available True MinimumReplicasAvailable
Progressing True NewReplicaSetAvailable
OldReplicaSets: <none>
NewReplicaSet: myweb-5b5fc7857b (2/2 replicas created)
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal ScalingReplicaSet 31m deployment-controller Scaled up replica set myweb-74b47d668 to 2
Normal ScalingReplicaSet 2m46s deployment-controller Scaled up replica set myweb-5b5fc7857b to 1
Normal ScalingReplicaSet 2m29s deployment-controller Scaled down replica set myweb-74b47d668 to 1
Normal ScalingReplicaSet 2m29s deployment-controller Scaled up replica set myweb-5b5fc7857b to 2
Normal ScalingReplicaSet 2m27s deployment-controller Scaled down replica set myweb-74b47d668 to 0
六、访问Heimdall
七、Heimdall导航页的基本操作
1.添加网站链接