kubernetes
Install kubectl:
cat <<EOF > /etc/yum.repos.d/kubernetes.repo [kubernetes] name=Kubernetes baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64 enabled=1 gpgcheck=1 repo_gpgcheck=1 gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg EOF yum install -y kubectl
Install Minikube:
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 install minikube-linux-amd64 /usr/local/bin/minikube
It copy file minikube-linux-amd64 to /usr/local/bin/minikube.
Install docker:
curl -fsSL https://get.docker.com -o get-docker.sh bash get-docker.sh
downgrade to supported version:
yum remove docker-ce docker-ce-cli yum install docker-ce-18.06.1.ce systemctl enable docker systemctl start docker
Set hostname
You have to have name minikube be resolved to your IP:
hostname minikube
Optional
Install conntrack:
yum install conntrack
Installing crictl:
VERSION="v1.12.0" curl -LO https://github.com/kubernetes-sigs/cri-tools/releases/download/$VERSION/crictl-$VERSION-linux-amd64.tar.gz tar zxvf crictl-$VERSION-linux-amd64.tar.gz -C /usr/local/bin rm -f crictl-$VERSION-linux-amd64.tar.gz
Recomended settings:
iptables -I INPUT -p tcp --dport 8443 -j ACCEPT iptables -I INPUT -p tcp --dport 10250 -j ACCEPT swapoff -av
The main command:
minikube --vm-driver=none start
you should get something like this:
Starting local Kubernetes v1.10.0 cluster... Starting VM... Getting VM IP address... Moving files into cluster... Downloading kubelet v1.10.0 Downloading kubeadm v1.10.0 Finished Downloading kubeadm v1.10.0 Finished Downloading kubelet v1.10.0 Setting up certs... Connecting to cluster... Setting up kubeconfig... Starting cluster components... Kubectl is now configured to use the cluster. =================== WARNING: IT IS RECOMMENDED NOT TO RUN THE NONE DRIVER ON PERSONAL WORKSTATIONS The 'none' driver will run an insecure kubernetes apiserver as root that may leave the host vulnerable to CSRF attacks When using the none driver, the kubectl config and credentials generated will be root owned and will appear in the root home directory. You will need to move the files to the appropriate location and then set the correct permissions. An example of this is below: sudo mv /root/.kube $HOME/.kube # this will write over any previous configuration sudo chown -R $USER $HOME/.kube sudo chgrp -R $USER $HOME/.kube sudo mv /root/.minikube $HOME/.minikube # this will write over any previous configuration sudo chown -R $USER $HOME/.minikube sudo chgrp -R $USER $HOME/.minikube This can also be done automatically by setting the env var CHANGE_MINIKUBE_NONE_USER=true Loading cached images from config file.
Launch first pod:
kubectl run hello-minikube --image=k8s.gcr.io/echoserver:1.10 --port=8080 kubectl run --generator=deployment/apps.v1beta1 is DEPRECATED and will be removed in a future version. Use kubectl create instead. deployment.apps/hello-minikube created kubectl expose deployment hello-minikube --type=NodePort service/hello-minikube exposed
check if it works:
kubectl get pod NAME READY STATUS RESTARTS AGE hello-minikube-7c77b68cff-677z8 1/1 Running 0 3m
you can also check ip or service url:
minikube ip minikube service hello-minikube --url
when you check that it works (using browser/wget/culr) you can cleanup:
kubectl delete services hello-minikube kubectl delete deployment hello-minikube
but what is it for...?
Komentarze
Log in or create a user account to comment.