Cha*_*suk 3 docker kubernetes minikube
我的minikube环境如下:-
CentOS Linux release 7.7.1908 (Core)Docker Engine - Community 20.10.7minikube version: v1.20.0我想在容器/etc/hosts内部添加一些额外的主机映射(5+ IP 和名称) minikube。然后我使用minikube ssh进入 shell 并尝试echo "172.17.x.x my.some.host" >> /etc/hosts。出现错误,-bash: /etc/hosts: Permission denied因为登录此 shell 的用户是 a docker,而不是 a root。
我还发现在主机上有一个名为minikuberunning 的 docker 容器,通过使用docker container ls. root即使我也可以通过使用来访问这个容器docker exec -it -u root minikube /bin/bash。我知道这是一种调整,可能是一种不好的做法。尤其是任务太多。
关于docker和分别docker-compose提供了--add-host和extra_hosts来添加主机名映射, 是否minikube提供了?minikube在和/或系统管理员的观点良好实践中,是否有任何良好实践可以实现这一目标?
echo 172.17.x.x my.some.host > ~/.minikube/files/etc/hosts启动后minikube,出现如下错误:-
[kubelet-check] It seems like the kubelet isn't running or healthy.
[kubelet-check] The HTTP call equal to 'curl -sSL http://localhost:10248/healthz' failed with error: Get "http://localhost:10248/healthz": dial tcp: lookup localhost on 8.8.8.8:53: no such host.
Unfortunately, an error has occurred:
timed out waiting for the condition
This error is likely caused by:
- The kubelet is not running
- The kubelet is unhealthy due to a misconfiguration of the node in some way (required cgroups disabled)
If you are on a systemd-powered system, you can try to troubleshoot the error with the following commands:
- 'systemctl status kubelet'
- 'journalctl -xeu kubelet'
Additionally, a control plane component may have crashed or exited when started by the container runtime.
To troubleshoot, list all containers using your preferred container runtimes CLI.
Here is one example how you may list all Kubernetes containers running in docker:
- 'docker ps -a | grep kube | grep -v pause'
Once you have found the failing container, you can inspect its logs with:
- 'docker logs CONTAINERID'
Run Code Online (Sandbox Code Playgroud)
然后我使用vi创建整个hosts文件,~/.minikube/files/etc/hosts如下所示:-
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
172.17.x.x my.some.host1
172.17.x.y my.some.host2
...
Run Code Online (Sandbox Code Playgroud)
此时就minikube可以正常启动了。
Minikube 有一个内置的同步机制,可以使用以下示例部署所需的 /etc/hosts:
mkdir -p ~/.minikube/files/etc
echo 127.0.0.1 localhost > ~/.minikube/files/etc/hosts
minikube start
Run Code Online (Sandbox Code Playgroud)
然后去检查它是否正常工作:
minikube ssh
Run Code Online (Sandbox Code Playgroud)
进入容器后,您可以使用以下命令查看 /etc/hosts 文件的内容:
cat /etc/hosts
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4463 次 |
| 最近记录: |