k3s安装ingress-nginx

1.配置k3s kubernetes config

$ cp /etc/rancher/k3s/k3s.yaml ~/.kube/config
$ chown $USER ~/.kube/config

2.安装ingress

  • 配置ingress helm仓库
$ helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
  • 配置ingress-nginx使用主机的80和443端口
$ helm install ingress-nginx ingress-nginx/ingress-nginx \
  --namespace ingress-nginx \
  --create-namespace \
  --set controller.hostNetwork=true \
  --set controller.service.enabled=false \
  --set controller.hostPort.enabled=true \
  --set controller.hostPort.ports.http=80 \
  --set controller.hostPort.ports.https=443

3.查看ingress状态

root@master:~/kubernetes-dashboard# kubectl get pods -A | grep ingress-nginx
ingress-nginx          ingress-nginx-controller-66d6ffdc99-hl48h              1/1     Running   0          147m
kube-system            svclb-ingress-nginx-controller-7205d9f3-cmtt6          2/2     Running   0          3h3m
kube-system            svclb-ingress-nginx-controller-7205d9f3-fnwlt          2/2     Running   0          3h3m
kube-system            svclb-ingress-nginx-controller-7205d9f3-knt4t          2/2     Running   0          3h3m
kube-system            svclb-ingress-nginx-controller-7205d9f3-sm4x6          2/2     Running   0          3h3m
root@master:~/kubernetes-dashboard# 

4.配置ingress证书

  • 转换证书
# 将证书转换为base64格式
cat fullchain1.pem | base64 -w 0
# 将private key转换为base64格式
cat privkey1.pem | base64 -w 0
  • 配置证书secrets
apiVersion: v1
kind: Secret
metadata:
  # secret名
  name: k3s-seclabs-tls
  # 证书放置的namespace
  namespace: kubernetes-dashboard
type: kubernetes.io/tls
data:
  tls.crt: LS0tLS1CRUdJTi………省略………
  tls.key: LS0tLS1CRUdJTi………省略………
  • 加载证书到namespace
root@master:~/ingress-nginx/secrets# kubectl apply -f kubernetes-dashboard-secret.yaml 
secret/k3s-seclabs-tls created
root@master:~/ingress-nginx/secrets# 
root@master:~/ingress-nginx/secrets# kubectl get secrets -n kubernetes-dashboard
NAME                                         TYPE                                  DATA   AGE
admin-user                                   kubernetes.io/service-account-token   3      21h
k3s-seclabs-tls                              kubernetes.io/tls                     2      33m
kubernetes-dashboard-csrf                    Opaque                                1      22h
sh.helm.release.v1.kubernetes-dashboard.v1   helm.sh/release.v1                    1      22h
root@master:~/ingress-nginx/secrets#
posted @ 2025-03-02 21:31  二乘八是十六  阅读(396)  评论(0)    收藏  举报