4.7 KiB
4.7 KiB
Task 1
apiVersion: v1
kind: Pod
metadata:
labels:
run: mc-pod
name: mc-pod
namespace: mc-namespace
spec:
containers:
- image: nginx:1-alpine
name: mc-pod-1
env:
- name: NODE_NAME
valueFrom:
fieldRef:
fieldPath: spec.nodeName
- image: busybox:1
name: mc-pod-2
command: ["sh", "-c"]
args: ["while true; do date >> /var/log/shared/date.log; sleep 1; done"]
volumeMounts:
- mountPath: /var/log/shared
name: shared-log
- image: busybox:1
name: mc-pod-3
command: ["sh", "-c"]
args: ["tail -f /var/log/shared/date.log"]
volumeMounts:
- mountPath: /var/log/shared
name: shared-log
volumes:
- name: shared-log
emptyDir:
sizeLimit: 500Mi
echo "verticalpodautoscalercheckpoints" >> /root/vpa-crds.txt
echo "verticalpodautoscalers" >> /root/vpa-crds.txt
kubectl expose pod messaging --port=6379 --name=messaging-service
kubectl create deployment hr-web-app --image=kodekloud/webapp-color --replicas=2
cat webapp-hpa.yaml
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
name: webapp-hpa
namespace: default
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: kkapp-deploy
minReplicas: 2
maxReplicas: 10
cat pv.yaml
apiVersion: v1
kind: PersistentVolume
metadata:
name: pv-analytics
spec:
hostPath:
path: /pv/data-analytics
accessModes:
- ReadWriteMany
capacity:
storage: 100Mi
cat orange.yaml
apiVersion: v1
kind: Pod
metadata:
creationTimestamp: "2026-07-21T19:20:48Z"
generation: 1
name: orange
namespace: default
resourceVersion: "4629"
uid: 3a8c1925-7db8-4518-9489-e6ae2e814ac5
spec:
containers:
- command:
- sh
- -c
- echo The app is running! && sleep 3600
image: busybox:1.28
imagePullPolicy: IfNotPresent
name: orange-container
resources: {}
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
volumeMounts:
- mountPath: /var/run/secrets/kubernetes.io/serviceaccount
name: kube-api-access-jhc2d
readOnly: true
dnsPolicy: ClusterFirst
enableServiceLinks: true
initContainers:
- command:
- sh
- -c
- sleep 2;
image: busybox
imagePullPolicy: Always
name: init-myservice
resources: {}
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
volumeMounts:
- mountPath: /var/run/secrets/kubernetes.io/serviceaccount
name: kube-api-access-jhc2d
readOnly: true
nodeName: controlplane
preemptionPolicy: PreemptLowerPriority
priority: 0
restartPolicy: Always
schedulerName: default-scheduler
securityContext: {}
serviceAccount: default
serviceAccountName: default
terminationGracePeriodSeconds: 30
tolerations:
- effect: NoExecute
key: node.kubernetes.io/not-ready
operator: Exists
tolerationSeconds: 300
- effect: NoExecute
key: node.kubernetes.io/unreachable
operator: Exists
tolerationSeconds: 300
volumes:
- name: kube-api-access-jhc2d
projected:
defaultMode: 420
sources:
- serviceAccountToken:
expirationSeconds: 3607
path: token
- configMap:
items:
- key: ca.crt
path: ca.crt
name: kube-root-ca.crt
- downwardAPI:
items:
- fieldRef:
apiVersion: v1
fieldPath: metadata.namespace
path: namespace
kubectl expose deployment hr-web-app --port=8080 --type=NodePort --name=hr-web-app-service
-----------
cat /root/webapp-hpa.yaml
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
name: webapp-hpa
spec:
maxReplicas: 10
metrics:
- resource:
name: cpu
target:
averageUtilization: 50
type: Utilization
type: Resource
minReplicas: 1
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: kkapp-deploy
status:
currentMetrics: null
desiredReplicas: 0
----------------------------
# vpa
# ----------------
apiVersion: autoscaling.k8s.io/v1
kind: VerticalPodAutoscaler
metadata:
name: analytics-vpa
namespace: default
spec:
targetRef:
apiVersion: apps/v1
kind: Deployment
name: analytics-deployment
updatePolicy:
updateMode: "Recreate"
resourcePolicy:
containerPolicies:
- containerName: "*"
controlledResources: ["cpu", "memory"]
# -----------------
# gateway
# -------
apiVersion: gateway.networking.k8s.io/v1
kind: Gateway
metadata:
name: web-gateway
namespace: nginx-gateway
spec:
gatewayClassName: nginx
listeners:
- name: http
protocol: HTTP
port: 80
allowedRoutes:
namespaces:
from: Same
# --------
helm upgrade -n kk-ns kk-mock1 kk-mock1/podinfo --version 6.11.2
# --------