![]() The previous configuration exposes the following issue: ``` Jul 23 12:41:43 worker-2 kubelet[29002]: #011For verbose messaging see aws.Config.CredentialsChainVerboseErrors Jul 23 12:41:43 worker-2 kubelet[29002]: E0723 12:41:43.068772 29002 remote_runtime.go:81] Version from runtime service failed: rpc error: code = Unimplemented desc = unknown service runtime.v1alpha2.RuntimeService Jul 23 12:41:43 worker-2 kubelet[29002]: E0723 12:41:43.068808 29002 kuberuntime_manager.go:197] Get runtime version failed: get remote runtime typed version failed: rpc error: code = Unimplemented desc = unknown service runtime.v1alpha2.RuntimeService Jul 23 12:41:43 worker-2 kubelet[29002]: F0723 12:41:43.068821 29002 server.go:274] failed to run Kubelet: failed to create kubelet: get remote runtime typed version failed: rpc error: code = Unimplemented desc = unknown service runtime.v1alpha2.RuntimeService Jul 23 12:41:43 worker-2 systemd[1]: kubelet.service: Main process exited, code=exited, status=255/n/a Jul 23 12:41:43 worker-2 systemd[1]: kubelet.service: Failed with result 'exit-code'. ``` otherwise using the default config and restarting containerd and the kubelet service seems to come back clean. This is: ``` No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 18.04.4 LTS Release: 18.04 Codename: bionic kubelet --version Kubernetes v1.18.6 ``` |
||
---|---|---|
deployments | ||
docs | ||
.gitignore | ||
CONTRIBUTING.md | ||
COPYRIGHT.md | ||
LICENSE | ||
README.md |
README.md
Kubernetes The Hard Way
This tutorial walks you through setting up Kubernetes the hard way. This guide is not for people looking for a fully automated command to bring up a Kubernetes cluster. If that's you then check out Google Kubernetes Engine, or the Getting Started Guides.
Kubernetes The Hard Way is optimized for learning, which means taking the long route to ensure you understand each task required to bootstrap a Kubernetes cluster.
The results of this tutorial should not be viewed as production ready, and may receive limited support from the community, but don't let that stop you from learning!
Copyright
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
Target Audience
The target audience for this tutorial is someone planning to support a production Kubernetes cluster and wants to understand how everything fits together.
Cluster Details
Kubernetes The Hard Way guides you through bootstrapping a highly available Kubernetes cluster with end-to-end encryption between components and RBAC authentication.
- kubernetes v1.18.6
- containerd v1.3.6
- coredns v1.7.0
- cni v0.8.6
- etcd v3.4.10
Labs
This tutorial assumes you have access to the Google Cloud Platform. While GCP is used for basic infrastructure requirements the lessons learned in this tutorial can be applied to other platforms.
- Prerequisites
- Installing the Client Tools
- Provisioning Compute Resources
- Provisioning the CA and Generating TLS Certificates
- Generating Kubernetes Configuration Files for Authentication
- Generating the Data Encryption Config and Key
- Bootstrapping the etcd Cluster
- Bootstrapping the Kubernetes Control Plane
- Bootstrapping the Kubernetes Worker Nodes
- Configuring kubectl for Remote Access
- Provisioning Pod Network Routes
- Deploying the DNS Cluster Add-on
- Smoke Test
- Cleaning Up