№ 11332 В разделе
Sysadmin
от August 27th, 2021,
В подшивках: Docker, Kubernetes
Microk8s includes docker registry feature but absolutely not secure, just for local developers use.
So remove old service “registry” (NodePort) and create new one:
apiVersion: v1 kind: Service metadata: name: registry-external namespace: container-registry labels: app: registry spec: ports: - port: 5000 name: registry protocol: TCP targetPort: registry selector: app: registry type: ClusterIP
New service points to the same place but not opens port 32000.
Now create secret, do not change filename, its important:
htpasswd -bc auth kubernetes PruedAtshyohuciabIdcav kubectl create secret generic basic-auth --from-file=auth --dry-run -o yaml
Good! Add new secret to your kube.
apiVersion: v1 data: auth: a3ViZXJuZXRlczokYXByMSRHQXNKamVGbiRzWFNDSVNxOGwuYVlwTkhTajlpQ2EuCg== kind: Secret metadata: creationTimestamp: null name: basic-auth
And now create ingress resource with basic auth pointed to new secret
apiVersion: extensions/v1beta1 kind: Ingress metadata: annotations: cert-manager.io/cluster-issuer: letsencrypt-http01 kubernetes.io/ingress.class: nginx nginx.ingress.kubernetes.io/proxy-body-size: "0" nginx.ingress.kubernetes.io/proxy-read-timeout: "600" nginx.ingress.kubernetes.io/proxy-send-timeout: "600" nginx.ingress.kubernetes.io/auth-type: basic nginx.ingress.kubernetes.io/auth-secret: basic-auth nginx.ingress.kubernetes.io/auth-realm: 'Authentication Required' name: registry namespace: container-registry spec: rules: - host: registry.k8s.huy.net http: paths: - backend: serviceName: registry-external servicePort: registry path: / tls: - hosts: - registry.k8s.huy.net secretName: tls-registry-k8s-huy-net
You did it!
№ 11327 В разделе
Sysadmin
от August 19th, 2021,
В подшивках: Kubernetes
Open /var/snap/microk8s/current/certs/csr.conf.template
and add:
[ alt_names ] DNS.1 = kubernetes DNS.2 = kubernetes.default DNS.3 = kubernetes.default.svc DNS.4 = kubernetes.default.svc.cluster DNS.5 = kubernetes.default.svc.cluster.local DNS.6 = blindage.org DNS.7 = k8s.blindage.org IP.1 = 127.0.0.1 IP.2 = 10.152.183.1 #MOREIPS IP.3 = 192.168.1.9 IP.4 = 109.227.241.137
Now refresh certificates with command microk8s.refresh-certs
№ 11273 В разделе
Sysadmin
от April 26th, 2021,
В подшивках: Kubernetes, Windows
My small notebook cant run 64 bit software so I builded 32 versions of kubectl and helm.
Downloads:
№ 11269 В разделе
Sysadmin
от April 26th, 2021,
В подшивках: Backups, Kubernetes, Linux
Use labels of deployment:
echo "$(date): Stop app pods" kubectl -n default scale --replicas=0 deployment/my-application kubectl -n default wait --for=delete pod -l app.kubernetes.io/name=appname \ -l app.kubernetes.io/instance=my-application \ --timeout=90s echo "$(date): Start backup"
№ 11263 В разделе
Sysadmin
от April 23rd, 2021,
В подшивках: Kubernetes, Linux
Итак, понадобилось мне поднять кастомную зону внутри моего домашнего кластера и первый же очевидный вариант это поднять зону в CoreDNS.
Для этого в конфигмап CoreDNS добавляем новый файл home.db:
home.db: | home. IN SOA sns.dns.icann.org. noc.dns.icann.org. 2015082541 7200 3600 1209600 3600 gdns.home. IN A 8.8.8.8 mqtt.home. IN A 1.1.1.2
А в Corefile указываем этот файл в качестве обслуживающего новую зону
Corefile: | .:53 { ... file /etc/coredns/home.db home }
Ну и все, теперь в деплойменте можно указать новый файл для монтирования:
volumes: - name: config-volume configMap: name: coredns items: - key: Corefile path: Corefile - key: home.db path: home.db
После обновления деплоймента под сам перезапустится и зона сразу заработает
root@mat-generator-app-6644bb76f-66vxd:/genmat# nslookup gdns.home Server: 10.152.183.10 Address: 10.152.183.10#53 Name: gdns.home Address: 8.8.8.8 root@mat-generator-app-6644bb76f-66vxd:/genmat# nslookup mqtt.home Server: 10.152.183.10 Address: 10.152.183.10#53 Name: mqtt.home Address: 1.1.1.2
Fortune cookie: Condoms are like listening to a symphony with cotton in your ears. [Taking a shower in raincoat? Ed.]