您现在的位置是:主页 > 数据库技术 > 数据库技术

kubernetes中怎么验证secret和configmap

IDCBT2022-01-01服务器技术人已围观

简介这篇文章主要讲解了“kubernetes中怎么验证secret和configmap”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“kubernetes中怎么验证

这篇文章主要讲解了“kubernetes中怎么验证secret和configmap”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“kubernetes中怎么验证secret和configmap”吧!

在k8s上用deployment和service部署nginx,用secret存储ssl证书,用configmap存储nginx配置文件,简单搭建起https服务。

1,新建一个有两个pod的deployment my-nginx

编辑deployment文件

vi dep-nginx.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-nginx
spec:
  selector:
    matchLabels:
      run: my-nginx
  replicas: 2
  template:
    metadata:
      labels:
        run: my-nginx
    spec:
      containers:
      - name: my-nginx
        image: nginx
        ports:
        - containerPort: 80

部署pod:

kubectl apply -f dep-nginx.yaml

kubectl get pods -l run=my-nginx -o wide

# 检查 Pod 的 IP 地址

kubectl get pods -l run=my-nginx -o yaml | grep podIP

2,为my-nginx新建service

vi nginx-svc.yaml

apiVersion: v1
kind: Service
metadata:
  name: my-nginx
  labels:
    run: my-nginx
spec:
  ports:
  - port: 80
    targetPort: 80
    protocol: TCP
  selector:
    run: my-nginx

kubectl apply -f nginx-svc.yaml

kubectl get svc my-nginx

kubectl get ep my-nginx

3,验证pod的自愈

删除deployment中的pod

kubectl delete pods -l run=my-nginx

可看到删除的pod会被重建,查看重建后的变化

kubectl exec my-nginx-3800858182-e9ihh -- printenv | grep SERVICE

service的dns

kubectl get services kube-dns --namespace=kube-system

kubectl run curl --image=radial/busyboxplus:curl -i --tty

替代nslookup工具的busybox

https://github.com/cncf/curriculum

nslookup my-nginx

4,为新建的nginx添加ssl证书,通过新建secret来使用

1)自签证书

openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /d/tmp/nginx.key -out /d/tmp/nginx.crt -subj "/CN=my-nginx/O=my-nginx"

编码

echo -n "string"| base64

cat dockerconfig.json |base64 -w 0

解码

echo "string" | base64 --decode

cat nginx.key |base64 -w 0

cat nginx.crt |base64 -w 0

2)编辑secret文件

vi nginxsecrets.yaml

apiVersion: "v1"
kind: "Secret"
metadata:
  name: "nginxsecret"
  namespace: "default"
data:
  nginx.crt: "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURIekNDQWdlZ0F3SUJBZ0lKQUp5M3lQK0pzMlpJT"
  nginx.key: "LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCk1JSUV2UUlCQURBTkJna3Foa2lHOXcwQkFRRUZBQVNDQ"

标签:

很赞哦! ()

本栏推荐