kubernetes / kops

Kubernetes Operations (kOps) - Production Grade k8s Installation, Upgrades and Management
https://kops.sigs.k8s.io/
Apache License 2.0
15.83k stars 4.64k forks source link

Docker-engine repo is no longer available for Centos. #8854

Closed wildk1w1 closed 4 years ago

wildk1w1 commented 4 years ago

1. What kops version are you running? The command kops version, will display this information. Kops 1.15 , 1.16 & 1.17

2. What Kubernetes version are you running? kubectl version will print the version if a cluster is running or provide the Kubernetes version specified as a kops flag.

3. What cloud provider are you using? AWS

4. What commands did you run? What is the simplest way to reproduce this issue?

5. What happened after the commands executed?

6. What did you expect to happen? Install docker on the initial phases of the kops install when bringing up the clusters.

7. Please provide your cluster manifest. Execute kops get --name my.example.com -o yaml to display your cluster manifest. You may want to remove your cluster name and other sensitive information.

8. Please run the commands with most verbose logging by adding the -v 10 flag. Paste the logs into this report, or in a gist and provide the gist link here.

9. Anything else do we need to know? Docker have closed the "https://yum.dockerproject.org" repos. Docker-ce is the currently provided repos for Centos/7 at https://download.docker.com/linux/

_Notice: Shutting down dockerproject.org APT and YUM repos 2020-03-31 Docker will be shutting down the deprecated APT and YUM repositories hosted at "dockerproject.org" and "dockerproject.com" on the 31st of March 2020.

We noticed that this project is referencing one of these repositories, and recommend updating to use the "download.docker.com" repository to prevent disruption.

More info: https://www.docker.com/blog/changes-dockerproject-org-apt-yum-repositories/_

Output from systemctl status kops-configuration.service ● kops-configuration.service - Run kops bootstrap (nodeup) Loaded: loaded (/usr/lib/systemd/system/kops-configuration.service; disabled; vendor preset: disabled) Active: activating (start) since Mon 2020-04-06 05:20:01 UTC; 32s ago Docs: https://github.com/kubernetes/kops Main PID: 4537 (nodeup) CGroup: /system.slice/kops-configuration.service └─4537 /var/cache/kubernetes-install/nodeup --conf=/var/cache/kubernetes-install/kube_env.yaml --v=8

Apr 06 05:20:27 ip-10-43-6-195.la.dev.vc.local yum[8934]: Installed: perl-TermReadKey-2.30-20.el7.x86_64 Apr 06 05:20:27 ip-10-43-6-195.la.dev.vc.local yum[8934]: Installed: perl-Git-1.8.3.1-21.el7_7.noarch Apr 06 05:20:28 ip-10-43-6-195.la.dev.vc.local yum[8934]: Installed: git-1.8.3.1-21.el7_7.x86_64 Apr 06 05:20:29 ip-10-43-6-195.la.dev.vc.local nodeup[4537]: I0406 05:20:29.216797 4537 executor.go:103] Tasks: 69 done / 79 total; 1 can run Apr 06 05:20:29 ip-10-43-6-195.la.dev.vc.local nodeup[4537]: I0406 05:20:29.216834 4537 executor.go:178] Executing task "Package/docker-engine": Package: docker-engine Apr 06 05:20:29 ip-10-43-6-195.la.dev.vc.local nodeup[4537]: I0406 05:20:29.216883 4537 package.go:206] Listing installed packages: /usr/bin/rpm -q docker-engine --queryformat %{NAME} %{VERSION} Apr 06 05:20:29 ip-10-43-6-195.la.dev.vc.local nodeup[4537]: I0406 05:20:29.243810 4537 package.go:267] Installing package "docker-engine" (dependencies: [Package: docker-engine-selinux]) Apr 06 05:20:29 ip-10-43-6-195.la.dev.vc.local nodeup[4537]: I0406 05:20:29.244085 4537 http.go:77] Downloading "https://yum.dockerproject.org/repo/main/centos/7/Packages/docker-engine-1.12.6-1.el7.centos.x86_64.rpm" Apr 06 05:20:30 ip-10-43-6-195.la.dev.vc.local nodeup[4537]: W0406 05:20:30.048973 4537 executor.go:130] error running task "Package/docker-engine" (9m59s remaining to succeed): error response from "https://yum.dockerproject.org/repo/main/centos/7/Packa...6_64.rpm": HTTP 404 Apr 06 05:20:30 ip-10-43-6-195.la.dev.vc.local nodeup[4537]: I0406 05:20:30.048995 4537 executor.go:145] No progress made, sleeping before retrying 1 failed task(s) Hint: Some lines were ellipsized, use -l to show in full.

johngmyers commented 4 years ago

/assign @hakman

hakman commented 4 years ago

@wildk1w1 Thanks for reporting this. Could you also do step 7? Any special reason you want to use Docker 1.12.6?

wildk1w1 commented 4 years ago

That is the default that is being used when I install from kops. My testing uses versions of Kubernetes from 1.7 on up. While I know 1.7 is massive old and unsupported I have software that needs to be tested on versions that old.

The default for centos now needs to be looking at the docker-ce repos and any references to the old repos need to be removed from the installer. I would hazard a guess that 17.x would be a best-case default for the older Kubernetes versions that Kops still uses the docker-engine packages for.

If I manually edit the cluster and add docker: version: 18.06.3 I can get it to install but that is not a valid flag that can be passed to the kops command so not sure how to automate that.

wildk1w1 commented 4 years ago

output for kops get -o yaml with some critical data removed for vpc,subnet and cluster names. The cluster is AWS with private api endpoints and private networking apiVersion: kops.k8s.io/v1alpha2 kind: Cluster metadata: creationTimestamp: "2020-04-06T07:50:34Z" name: cluster.x.y.z.local spec: api: loadBalancer: type: Internal authorization: rbac: {} channel: stable cloudProvider: aws etcdClusters:


apiVersion: kops.k8s.io/v1alpha2 kind: InstanceGroup metadata: creationTimestamp: "2020-04-06T07:50:34Z" labels: kops.k8s.io/cluster: cluster.x.y.z.local name: master-us-west-2a spec: associatePublicIp: false image: ami-0bc06212a56393ee1 machineType: m5.large maxSize: 1 minSize: 1 nodeLabels: kops.k8s.io/instancegroup: master-us-west-2a role: Master subnets:


apiVersion: kops.k8s.io/v1alpha2 kind: InstanceGroup metadata: creationTimestamp: "2020-04-06T07:50:34Z" labels: kops.k8s.io/cluster: cluster.x.y.z.local name: nodes spec: associatePublicIp: false image: ami-0bc06212a56393ee1 machineType: m5.2xlarge maxSize: 3 minSize: 3 nodeLabels: kops.k8s.io/instancegroup: nodes role: Node subnets:

wildk1w1 commented 4 years ago

With kubernetes 1.11.0 specified the newer docker-ce becomes the default so not a massive issue for most people I would presume.

It would be nice to have a command-line flag to allow the choice of docker version though.

hakman commented 4 years ago

You could create the cluster directly from a manifest similar to the one above, using kops create -f manifest.yaml. This should allow you to customise each cluster.

https://github.com/kubernetes/kops/pull/8846 should address the issue of the default version of Docker and will hopefully be released in the next few weeks.

wildk1w1 commented 4 years ago

Thanks.