``` { wget -q --show-progress --https-only --timestamping \ https://storage.googleapis.com/kubernetes-the-hard-way/cfssl/1.4.1/linux/cfssl \ https://storage.googleapis.com/kubernetes-the-hard-way/cfssl/1.4.1/linux/cfssljson chmod +x cfssl cfssljson sudo mv cfssl cfssljson /usr/local/bin/ } ``` ```bash { cat > ca-config.json < ca-csr.json < kubernetes-csr.json < service-account-csr.json < admin-csr.json < encryption-config.yaml < pod.yaml apiVersion: v1 kind: Pod metadata: name: hello-world spec: serviceAccountName: hello-world containers: - name: hello-world-container image: busybox command: ['sh', '-c', 'while true; do echo "Hello, World!"; sleep 1; done'] nodeName: worker EOF cat < sa.yaml apiVersion: v1 kind: ServiceAccount metadata: name: hello-world automountServiceAccountToken: false EOF kubectl apply -f sa.yaml --kubeconfig=admin.kubeconfig kubectl apply -f pod.yaml --kubeconfig=admin.kubeconfig } ``` kubelet ????, ага ще напевно потрібно виписувати сертифікати на публічний айпішнік ```bash sudo echo "127.0.0.1 worker" >> /etc/hosts ``` ```bash { cat > kubelet-csr.json < nginx-pod.yaml apiVersion: v1 kind: Pod metadata: name: nginx-pod spec: serviceAccountName: hello-world containers: - name: nginx-container image: nginx ports: - containerPort: 80 nodeName: worker EOF kubectl apply -f nginx-pod.yaml --kubeconfig=admin.kubeconfig ``` ```bash kubectl get pod nginx-pod --kubeconfig=admin.kubeconfig -o=jsonpath='{.status.podIP}' ``` ```bash curl $(kubectl get pod nginx-pod --kubeconfig=admin.kubeconfig -o=jsonpath='{.status.podIP}') ``` ```bash kubectl delete -f nginx-pod.yaml --kubeconfig=admin.kubeconfig kubectl delete -f pod.yaml --kubeconfig=admin.kubeconfig kubectl delete -f sa.yaml --kubeconfig=admin.kubeconfig ``` ```bash cat < nginx-deployment.yaml apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment spec: replicas: 3 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - name: nginx-container image: nginx ports: - containerPort: 80 EOF kubectl apply -f nginx-deployment.yaml --kubeconfig=admin.kubeconfig ``` ```bash kubectl get pod --kubeconfig=admin.kubeconfig ``` ```bash kubectl get deployment --kubeconfig=admin.kubeconfig ``` такс деплоймент є а подів немає - неподобство # controller manager ```bash { cat > kube-controller-manager-csr.json < kube-scheduler-csr.json <